00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00022 #ifndef __vtkKWListBoxToListBoxSelectionEditor_h
00023 #define __vtkKWListBoxToListBoxSelectionEditor_h
00024
00025 #include "vtkKWCompositeWidget.h"
00026
00027 class vtkKWApplication;
00028 class vtkKWListBoxWithScrollbars;
00029 class vtkKWPushButton;
00030 class vtkKWListBox;
00031
00032 class KWWIDGETS_EXPORT vtkKWListBoxToListBoxSelectionEditor : public vtkKWCompositeWidget
00033 {
00034 public:
00035 static vtkKWListBoxToListBoxSelectionEditor* New();
00036 vtkTypeRevisionMacro(vtkKWListBoxToListBoxSelectionEditor,vtkKWCompositeWidget);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040 virtual void Create(vtkKWApplication *app);
00041
00046 virtual void AddSourceElement(const char*, int force = 0);
00047
00052 virtual void AddFinalElement(const char*, int force = 0);
00053
00055
00056 virtual int GetNumberOfElementsOnSourceList();
00057 virtual int GetNumberOfElementsOnFinalList();
00059
00061
00062 virtual const char* GetElementFromSourceList(int idx);
00063 virtual const char* GetElementFromFinalList(int idx);
00065
00067
00068 virtual int GetElementIndexFromSourceList(const char* element);
00069 virtual int GetElementIndexFromFinalList(const char* element);
00071
00073
00074 virtual void RemoveItemsFromSourceList();
00075 virtual void RemoveItemsFromFinalList();
00077
00079
00080 virtual void AddCallback();
00081 virtual void AddAllCallback();
00082 virtual void RemoveCallback();
00083 virtual void RemoveAllCallback();
00084 virtual void UpCallback();
00085 virtual void DownCallback();
00087
00089
00090 void EllipsisCallback();
00091 vtkSetStringMacro(EllipsisCommand);
00092 vtkGetStringMacro(EllipsisCommand);
00093 void SetEllipsisCommand(vtkObject* obj, const char* method);
00095
00102 virtual void UpdateEnableState();
00103
00104 protected:
00105 vtkKWListBoxToListBoxSelectionEditor();
00106 ~vtkKWListBoxToListBoxSelectionEditor();
00107
00108 vtkKWListBoxWithScrollbars* SourceList;
00109 vtkKWListBoxWithScrollbars* FinalList;
00110
00111 vtkKWPushButton* AddButton;
00112 vtkKWPushButton* AddAllButton;
00113 vtkKWPushButton* RemoveButton;
00114 vtkKWPushButton* RemoveAllButton;
00115 vtkKWPushButton* UpButton;
00116 vtkKWPushButton* DownButton;
00117
00118 virtual void MoveWholeList(vtkKWListBox* l1, vtkKWListBox* l2);
00119 void MoveSelectedList(vtkKWListBox* l1, vtkKWListBox* l2);
00120 void MoveList(vtkKWListBox* l1, vtkKWListBox* l2, const char* list);
00121 void ShiftItems(vtkKWListBox* l1, int down);
00122 void AddElement(vtkKWListBox* l1, vtkKWListBox* l2, const char* element, int force);
00123
00124 char* EllipsisCommand;
00125 int EllipsisDisplayed;
00126
00127 void DisplayEllipsis();
00128 void RemoveEllipsis();
00129
00130 private:
00131 vtkKWListBoxToListBoxSelectionEditor(const vtkKWListBoxToListBoxSelectionEditor&);
00132 void operator=(const vtkKWListBoxToListBoxSelectionEditor&);
00133 };
00134
00135
00136 #endif
00137
00138
00139