vtkFetchMIQueryTermWidget.h
Go to the documentation of this file.00001 #ifndef __vtkFetchMIQueryTermWidget_h
00002 #define __vtkFetchMIQueryTermWidget_h
00003
00004
00005 #include "vtkFetchMIWin32Header.h"
00006 #include "vtkFetchMIMulticolumnWidget.h"
00007 #include "vtkFetchMILogic.h"
00008 #include <string>
00009 #include <vector>
00010 #include <map>
00011 #include <iterator>
00012
00013 class vtkKWPushButton;
00014 class vtkFetchMIIcons;
00015
00016 class VTK_FETCHMI_EXPORT vtkFetchMIQueryTermWidget : public vtkFetchMIMulticolumnWidget
00017 {
00018
00019 public:
00020 static vtkFetchMIQueryTermWidget* New();
00021 vtkTypeRevisionMacro(vtkFetchMIQueryTermWidget,vtkFetchMIMulticolumnWidget);
00022 void PrintSelf(ostream& os, vtkIndent indent);
00023
00024
00025
00026 vtkGetObjectMacro ( SelectAllButton, vtkKWPushButton);
00027 vtkGetObjectMacro ( DeselectAllButton, vtkKWPushButton);
00028 vtkGetObjectMacro ( HelpButton, vtkKWPushButton );
00029 vtkGetObjectMacro ( ClearAllButton, vtkKWPushButton);
00030 vtkGetObjectMacro ( ClearSelectedButton, vtkKWPushButton);
00031 vtkGetObjectMacro ( SearchButton, vtkKWPushButton );
00032 vtkGetObjectMacro ( RefreshButton, vtkKWPushButton );
00033 vtkGetObjectMacro ( FetchMIIcons, vtkFetchMIIcons );
00034 vtkGetObjectMacro ( Logic, vtkFetchMILogic );
00035 vtkSetObjectMacro ( Logic, vtkFetchMILogic );
00036 vtkGetMacro ( InPopulateWidget, int );
00037 vtkSetMacro ( InPopulateWidget, int );
00038
00039
00040
00041 virtual void AddNewItem ( const char *keyword, const char *value);
00042
00043 using vtkFetchMIMulticolumnWidget::AddNewItem;
00044
00045
00046
00047
00048
00049 virtual void AddNewTagForQuery ( const char *keyword,
00050 std::vector<std::string> values );
00051
00052
00053
00054
00055 virtual void PopulateFromServer ( );
00056
00057
00058
00059 int GetRowForAttribute ( const char *attribute );
00060
00061
00062
00063 virtual void ProcessWidgetEvents ( vtkObject *caller, unsigned long event, void *callData );
00064
00065
00066
00067 virtual void ProcessMRMLEvents ( vtkObject *caller, unsigned long event, void *callData );
00068
00069
00070
00071 virtual void RemoveWidgetObservers ( );
00072
00073
00074 virtual void AddWidgetObservers ( );
00075
00076
00077
00078 virtual void AddMRMLObservers ( );
00079
00080
00081
00082 virtual void RemoveMRMLObservers ( );
00083
00084
00085
00086 virtual void SelectRow ( int i );
00087 virtual void SelectAllItems();
00088 virtual void DeselectAllItems();
00089 virtual void SetStatusText(const char *txt);
00090
00091
00092
00093 virtual int IsItemSelected(int i);
00094 virtual const char *GetAttributeOfItem (int i );
00095 virtual const char *GetValueOfItem (int i );
00096 virtual void DeleteSelectedItems();
00097 virtual int GetNumberOfSelectedItems();
00098 virtual const char *GetNthSelectedAttribute(int n);
00099 virtual const char *GetNthSelectedValue(int n);
00100 virtual void SelectValueOfItem(int i, const char *val );
00101
00102
00103 enum
00104 {
00105 TagChangedEvent = 11000,
00106 QuerySubmittedEvent,
00107 };
00108
00109
00110
00111
00112 void RightClickListCallback(int row, int col, int x, int y);
00113
00114 protected:
00115 vtkFetchMIQueryTermWidget();
00116 virtual ~vtkFetchMIQueryTermWidget();
00117
00118
00119 vtkKWPushButton *SelectAllButton;
00120 vtkKWPushButton *DeselectAllButton;
00121 vtkKWPushButton *ClearAllButton;
00122 vtkKWPushButton *ClearSelectedButton;
00123 vtkKWPushButton *SearchButton;
00124 vtkKWPushButton *HelpButton;
00125 vtkKWPushButton *RefreshButton;
00126 vtkFetchMIIcons *FetchMIIcons;
00127 vtkFetchMILogic *Logic;
00128 int InPopulateWidget;
00129
00130
00131
00132 virtual void CreateWidget();
00133
00134
00135
00136 virtual void RaiseHelpWindow();
00137
00138
00139
00140 void UpdateWidget();
00141
00142 void UpdateMRML();
00143
00144 vtkFetchMIQueryTermWidget(const vtkFetchMIQueryTermWidget&);
00145 void operator=(const vtkFetchMIQueryTermWidget&);
00146 };
00147
00148 #endif
00149