|
|
|
@ -30,6 +30,7 @@ static void CreateControls(struct etcpmon_app* app); |
|
|
|
static void OnConnect(struct etcpmon_app* app); |
|
|
|
static void OnConnect(struct etcpmon_app* app); |
|
|
|
static void OnDisconnect(struct etcpmon_app* app); |
|
|
|
static void OnDisconnect(struct etcpmon_app* app); |
|
|
|
static void OnConnectionSelect(struct etcpmon_app* app); |
|
|
|
static void OnConnectionSelect(struct etcpmon_app* app); |
|
|
|
|
|
|
|
static void OnAction(struct etcpmon_app* app); |
|
|
|
static void OnTimer(struct etcpmon_app* app); |
|
|
|
static void OnTimer(struct etcpmon_app* app); |
|
|
|
static void UpdateUIState(struct etcpmon_app* app); |
|
|
|
static void UpdateUIState(struct etcpmon_app* app); |
|
|
|
static void AddTooltip(HWND hTip, HWND hCtrl, const char* text); |
|
|
|
static void AddTooltip(HWND hTip, HWND hCtrl, const char* text); |
|
|
|
@ -212,6 +213,19 @@ static void CreateControls(struct etcpmon_app* app) { |
|
|
|
WS_CHILD | WS_VISIBLE | LBS_NOTIFY | WS_VSCROLL | LBS_NOINTEGRALHEIGHT, |
|
|
|
WS_CHILD | WS_VISIBLE | LBS_NOTIFY | WS_VSCROLL | LBS_NOINTEGRALHEIGHT, |
|
|
|
x + 310, y + 20, 300, 120, hWnd, (HMENU)IDC_LIST_SOCKETS, hInst, NULL); |
|
|
|
x + 310, y + 20, 300, 120, hWnd, (HMENU)IDC_LIST_SOCKETS, hInst, NULL); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Action input */ |
|
|
|
|
|
|
|
CreateWindowExA(0, "STATIC", "Action:", |
|
|
|
|
|
|
|
WS_CHILD | WS_VISIBLE, |
|
|
|
|
|
|
|
x + 620, y, 80, 20, hWnd, (HMENU)IDC_STATIC, hInst, NULL); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app->hEditAction = CreateWindowExA(WS_EX_CLIENTEDGE, "EDIT", "", |
|
|
|
|
|
|
|
WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL, |
|
|
|
|
|
|
|
x + 620, y + 20, 200, 22, hWnd, (HMENU)IDC_EDIT_ACTION, hInst, NULL); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app->hBtnAction = CreateWindowExA(0, "BUTTON", "Send", |
|
|
|
|
|
|
|
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, |
|
|
|
|
|
|
|
x + 830, y + 19, 60, 24, hWnd, (HMENU)IDC_BTN_ACTION, hInst, NULL); |
|
|
|
|
|
|
|
|
|
|
|
/* Graph area */ |
|
|
|
/* Graph area */ |
|
|
|
y += 140; |
|
|
|
y += 140; |
|
|
|
app->hGraphWnd = CreateWindowExA( |
|
|
|
app->hGraphWnd = CreateWindowExA( |
|
|
|
@ -940,6 +954,9 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l |
|
|
|
OnConnectionSelect(app); |
|
|
|
OnConnectionSelect(app); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
case IDC_BTN_ACTION: |
|
|
|
|
|
|
|
OnAction(app); |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
@ -1019,6 +1036,19 @@ static void OnConnectionSelect(struct etcpmon_app* app) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void OnAction(struct etcpmon_app* app) { |
|
|
|
|
|
|
|
if (!app || !app->client || !app->hEditAction) return; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char action[33]; |
|
|
|
|
|
|
|
GetWindowTextA(app->hEditAction, action, sizeof(action)); |
|
|
|
|
|
|
|
action[sizeof(action) - 1] = '\0'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (strlen(action) > 0) { |
|
|
|
|
|
|
|
etcpmon_client_send_action(app->client, action); |
|
|
|
|
|
|
|
SetWindowTextA(app->hEditAction, ""); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void OnTimer(struct etcpmon_app* app) { |
|
|
|
static void OnTimer(struct etcpmon_app* app) { |
|
|
|
if (!app || !app->client) return; |
|
|
|
if (!app || !app->client) return; |
|
|
|
|
|
|
|
|
|
|
|
|