summaryrefslogtreecommitdiff
path: root/IvyProbe
diff options
context:
space:
mode:
authorfcolin2010-03-12 16:41:08 +0000
committerfcolin2010-03-12 16:41:08 +0000
commit576ad2b67bced04bde83de91f5e647af868c5fd4 (patch)
tree147725b5c27f1f31da1e879ac949822c75ac49a2 /IvyProbe
parent74c0ac487332231e8dd6ba35580b07166ffbcfe2 (diff)
downloadivy-cplusplus-576ad2b67bced04bde83de91f5e647af868c5fd4.zip
ivy-cplusplus-576ad2b67bced04bde83de91f5e647af868c5fd4.tar.gz
ivy-cplusplus-576ad2b67bced04bde83de91f5e647af868c5fd4.tar.bz2
ivy-cplusplus-576ad2b67bced04bde83de91f5e647af868c5fd4.tar.xz
mise en conformité des messages ping /pong
Correction pb a la fermeture d'ivy
Diffstat (limited to 'IvyProbe')
-rw-r--r--IvyProbe/IvyProbe.rc21
-rw-r--r--IvyProbe/IvyProbeDlg.cpp45
-rw-r--r--IvyProbe/IvyProbeDlg.h2
-rw-r--r--IvyProbe/Resource.h4
4 files changed, 57 insertions, 15 deletions
diff --git a/IvyProbe/IvyProbe.rc b/IvyProbe/IvyProbe.rc
index 8fc9923..52746ec 100644
--- a/IvyProbe/IvyProbe.rc
+++ b/IvyProbe/IvyProbe.rc
@@ -83,22 +83,23 @@ BEGIN
DEFPUSHBUTTON "OK",IDOK,178,7,32,14,WS_GROUP
END
-IDD_IVYPROBE_DIALOG DIALOGEX 0, 0, 163, 152
+IDD_IVYPROBE_DIALOG DIALOGEX 0, 0, 281, 154
STYLE DS_SETFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW
CAPTION "IvyProbe"
MENU IDR_MENU1
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
- EDITTEXT IDC_BUSNUMBER,4,14,120,14,ES_AUTOHSCROLL
- PUSHBUTTON "Start",IDC_START,130,15,25,14
+ EDITTEXT IDC_BUSNUMBER,4,14,240,14,ES_AUTOHSCROLL
+ PUSHBUTTON "Start",IDC_START,248,15,25,14
LTEXT "Bind:",IDC_STATIC_BIND,4,135,17,8
LTEXT "Msg:",IDC_STATIC_MSG,4,117,17,12
- COMBOBOX IDC_MSG,27,117,100,82,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- DEFPUSHBUTTON "Send",IDC_SEND,128,116,27,14
- PUSHBUTTON "Bind",IDC_BIND,128,132,27,14
- COMBOBOX IDC_REGEXP,27,133,100,66,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
- EDITTEXT IDC_TEXT,4,31,151,82,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_NOHIDESEL | ES_READONLY | WS_VSCROLL
+ COMBOBOX IDC_MSG,27,117,213,82,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+ DEFPUSHBUTTON "Send",IDC_SEND,246,116,27,14
+ PUSHBUTTON "Bind",IDC_BIND,246,132,27,14
+ COMBOBOX IDC_REGEXP,27,133,214,66,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_TEXT,99,29,171,82,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_NOHIDESEL | ES_READONLY | WS_VSCROLL
+ LISTBOX IDC_CLIENT_LIST,4,29,92,84,LBS_SORT | LBS_MULTIPLESEL | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
END
@@ -159,9 +160,9 @@ BEGIN
IDD_IVYPROBE_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 4
- RIGHTMARGIN, 155
+ RIGHTMARGIN, 273
TOPMARGIN, 1
- BOTTOMMARGIN, 148
+ BOTTOMMARGIN, 150
END
END
#endif // APSTUDIO_INVOKED
diff --git a/IvyProbe/IvyProbeDlg.cpp b/IvyProbe/IvyProbeDlg.cpp
index ef7bff8..35a9fe3 100644
--- a/IvyProbe/IvyProbeDlg.cpp
+++ b/IvyProbe/IvyProbeDlg.cpp
@@ -58,6 +58,7 @@ void CIvyProbeDlg::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_REGEXP, m_expr);
DDX_Control(pDX, IDC_MSG, m_msg);
DDX_Text(pDX, IDC_BUSNUMBER, m_busnumber);
+ DDX_Control(pDX, IDC_CLIENT_LIST, m_clients );
//}}AFX_DATA_MAP
}
@@ -74,6 +75,7 @@ BEGIN_MESSAGE_MAP(CIvyProbeDlg, MyDialog)
//}}AFX_MSG_MAP
ON_COMMAND(ID_FILE_SAVEBINDINGS, &CIvyProbeDlg::OnFileSavebindings)
ON_COMMAND(ID_FILE_LOADBINDINGS, &CIvyProbeDlg::OnFileLoadbindings)
+ ON_LBN_DBLCLK(IDC_CLIENT_LIST, &CIvyProbeDlg::OnLbnDblclkClientList)
END_MESSAGE_MAP()
@@ -136,7 +138,10 @@ BOOL CIvyProbeDlg::OnInitDialog()
<< item ( IDC_BUSNUMBER, GREEDY )
<< item ( IDC_START, NORESIZE )
)
- << item ( IDC_TEXT, GREEDY )
+ << ( pane( HORIZONTAL, GREEDY )
+ << item ( IDC_CLIENT_LIST, ABSOLUTE_HORZ )
+ << item ( IDC_TEXT, GREEDY )
+ )
<< ( pane( HORIZONTAL, ABSOLUTE_VERT )
<< item( IDC_STATIC_MSG, NORESIZE )
<< item( IDC_MSG, GREEDY )
@@ -160,7 +165,7 @@ BOOL CIvyProbeDlg::OnInitDialog()
// Set Argument from Command Line
m_busnumber = cmd.m_busNumber;
- bus = new Ivy( "IvyProbe Windows","IvyProbe Windows Ready",this,FALSE);
+ bus = new Ivy( "IvyProbeWindows","IvyProbeWindows Ready",this,FALSE);
bus->SetBindCallback( this );
// bus->BindMsg("(.*)", BUS_CALLBACK_OF(CTestDlg, IvyCallback ));
@@ -232,11 +237,25 @@ TRACE(TEXT("Direct Msg Receive %d, %s\n"),id,arg );
void CIvyProbeDlg::OnApplicationConnected(IvyApplication *app)
{
- WriteMessage( "Application: %s ready",(LPCSTR)(app->GetName()) );
+ LPCSTR name = (LPCSTR)(app->GetName());
+ WriteMessage( "Application: %s ready", name );
+ int idx = m_clients.AddString( name );
+ m_clients.SetItemDataPtr( idx, app );
}
void CIvyProbeDlg::OnApplicationDisconnected(IvyApplication *app)
{
- WriteMessage( "Application: %s bye",(LPCSTR)(app->GetName()) );
+ LPCSTR name = (LPCSTR)(app->GetName());
+ WriteMessage( "Application: %s bye", name );
+ int nb = m_clients.GetCount();
+ for( int idx = 0; idx < nb ; idx++)
+ {
+ IvyApplication * appToRemove = (IvyApplication * )m_clients.GetItemDataPtr( idx );
+ if ( appToRemove == app )
+ {
+ m_clients.DeleteString( idx );
+ break;
+ }
+ }
}
void CIvyProbeDlg::OnAddBind (IvyApplication *app, int id, const char * regexp)
@@ -392,3 +411,21 @@ void CIvyProbeDlg::OnFileSavebindings()
}
#endif
}
+
+void CIvyProbeDlg::OnLbnDblclkClientList()
+{
+ IvyApplication *app;
+ int nCount = m_clients.GetSelCount();
+ if ( nCount > 0 )
+ {
+ int* selected = new int[ nCount ];
+
+ int nb = m_clients.GetSelItems(nCount, selected );
+ for( int idx = 0; idx < nb ; idx++)
+ {
+ app = (IvyApplication * )m_clients.GetItemDataPtr( selected[idx] );
+ bus->SendDieMsg( app );
+ }
+ delete [] selected;
+ }
+}
diff --git a/IvyProbe/IvyProbeDlg.h b/IvyProbe/IvyProbeDlg.h
index eee40ef..e196f57 100644
--- a/IvyProbe/IvyProbeDlg.h
+++ b/IvyProbe/IvyProbeDlg.h
@@ -61,6 +61,7 @@ public:
CComboBox m_expr;
CComboBox m_msg;
CString m_busnumber;
+ CListBox m_clients;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
@@ -102,6 +103,7 @@ public:
afx_msg void OnFileSavebindings();
public:
afx_msg void OnFileLoadbindings();
+ afx_msg void OnLbnDblclkClientList();
};
//{{AFX_INSERT_LOCATION}}
diff --git a/IvyProbe/Resource.h b/IvyProbe/Resource.h
index afeece2..c88e5b4 100644
--- a/IvyProbe/Resource.h
+++ b/IvyProbe/Resource.h
@@ -30,6 +30,8 @@
#define IDC_REGEXP 1021
#define IDC_CLOCK_FAST_BACKWARD 1026
#define IDC_CLOCK_BACKWARD 1027
+#define IDC_CLIENTLIST 1027
+#define IDC_CLIENT_LIST 1027
#define IDC_CLOCK_START 1028
#define IDC_CLOCK_PAUSE 1029
#define IDC_CLOCK_FORWARD 1030
@@ -46,7 +48,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 134
#define _APS_NEXT_COMMAND_VALUE 32775
-#define _APS_NEXT_CONTROL_VALUE 1027
+#define _APS_NEXT_CONTROL_VALUE 1028
#define _APS_NEXT_SYMED_VALUE 104
#endif
#endif