00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00025 #ifndef __vtkKWListBoxToListBoxSelectionEditor_h
00026 #define __vtkKWListBoxToListBoxSelectionEditor_h
00027
00028 #include "vtkKWCompositeWidget.h"
00029
00030 class vtkKWListBoxWithScrollbarsWithLabel;
00031 class vtkKWPushButton;
00032 class vtkKWListBox;
00033 class vtkKWFrame;
00034
00035 class KWWidgets_EXPORT vtkKWListBoxToListBoxSelectionEditor : public vtkKWCompositeWidget
00036 {
00037
00038 public:
00039 static vtkKWListBoxToListBoxSelectionEditor* New();
00040 vtkTypeRevisionMacro(vtkKWListBoxToListBoxSelectionEditor,vtkKWCompositeWidget);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00048 virtual void AddSourceElement(const char*, int force = 0);
00049 virtual void RemoveSourceElement(int indx);
00051
00053
00057 virtual void AddFinalElement(const char*, int force = 0);
00058 virtual void RemoveFinalElement(int index);
00060
00062
00063 virtual int GetNumberOfElementsOnSourceList();
00064 virtual int GetNumberOfElementsOnFinalList();
00066
00068
00069 virtual const char* GetElementFromSourceList(int idx);
00070 virtual const char* GetElementFromFinalList(int idx);
00072
00074
00075 virtual int GetElementIndexFromSourceList(const char* element);
00076 virtual int GetElementIndexFromFinalList(const char* element);
00078
00080
00081 virtual void RemoveItemsFromSourceList();
00082 virtual void RemoveItemsFromFinalList();
00084
00086
00087 vtkGetObjectMacro(SourceList, vtkKWListBoxWithScrollbarsWithLabel);
00088 vtkGetObjectMacro(FinalList, vtkKWListBoxWithScrollbarsWithLabel);
00090
00097 virtual void SetEllipsisCommand(vtkObject *obj, const char *method);
00098
00105 virtual void SetFinalListChangedCommand(vtkObject *obj, const char *method);
00106
00108
00110 enum
00111 {
00112 FinalListChangedEvent = 10000
00113 };
00114
00116
00118
00124 virtual void UpdateEnableState();
00125 virtual void Update();
00127
00128
00129
00130
00131
00132 virtual void SetAllowReordering(int);
00133 vtkBooleanMacro(AllowReordering, int);
00134 vtkGetMacro(AllowReordering, int);
00135
00136
00138
00139 virtual void AddCallback();
00140 virtual void AddAllCallback();
00141 virtual void RemoveCallback();
00142 virtual void RemoveAllCallback();
00143 virtual void UpCallback();
00144 virtual void DownCallback();
00145 virtual void EllipsisCallback();
00146 virtual void SourceSelectionChangedCallback();
00147 virtual void FinalSelectionChangedCallback();
00149
00150
00151
00152 protected:
00153 vtkKWListBoxToListBoxSelectionEditor();
00154 ~vtkKWListBoxToListBoxSelectionEditor();
00155
00157 virtual void CreateWidget();
00158
00160 virtual void Pack();
00161
00162 vtkKWListBoxWithScrollbarsWithLabel* SourceList;
00163 vtkKWListBoxWithScrollbarsWithLabel* FinalList;
00164
00165 vtkKWPushButton* AddButton;
00166 vtkKWPushButton* AddAllButton;
00167 vtkKWPushButton* RemoveButton;
00168 vtkKWPushButton* RemoveAllButton;
00169 vtkKWPushButton* UpButton;
00170 vtkKWPushButton* DownButton;
00171 vtkKWFrame* ButtonFrame;
00172
00173 virtual void MoveWholeList(vtkKWListBox* l1, vtkKWListBox* l2);
00174 virtual void MoveSelectedList(vtkKWListBox* l1, vtkKWListBox* l2);
00175 virtual void MoveList(vtkKWListBox* l1, vtkKWListBox* l2, const char* list);
00176 virtual void ShiftItems(vtkKWListBox* l1, int down);
00177 virtual void AddElement(
00178 vtkKWListBox* l1, vtkKWListBox* l2, const char* element, int force);
00179
00180 char* EllipsisCommand;
00181 char* FinalListChangedCommand;
00182 virtual void InvokeEllipsisCommand();
00183 virtual void InvokeFinalListChangedCommand();
00184
00185 int EllipsisDisplayed;
00186 int AllowReordering;
00187
00188 virtual void DisplayEllipsis();
00189 virtual void RemoveEllipsis();
00190
00191
00192
00193 private:
00194 vtkKWListBoxToListBoxSelectionEditor(const vtkKWListBoxToListBoxSelectionEditor&);
00195 void operator=(const vtkKWListBoxToListBoxSelectionEditor&);
00196 };
00197
00198
00199 #endif
00200
00201
00202
00203