![]() |
Main Page
Class Hierarchy
Alphabetical List
Compound List
File List
Compound Members
![]() |
00001 /* FXTreeEditor ver.0.2.4 00002 * 00003 * This software is in the public domain. 00004 * There are no restrictions on any sort of usage of this software. 00005 * 00006 * $fxtreeeditor: fxtreeeditor.h,v 1.71.0 2001/10/25 10:43:00 Toshihiro Inoue Exp $ 00007 */ 00008 #ifndef FXTREEEDITOR_H 00009 #define FXTREEEDITOR_H 00010 00011 #ifndef FXEXTREELIST_H 00012 #include "FXExTreeList.h" 00013 #endif 00014 namespace FXEX { 00015 00016 /** 00017 * An editor of tree items of specific number visible (huh?) 00018 */ 00019 class FXAPI FXTreeEditor: public FXExTreeList { 00020 FXDECLARE(FXTreeEditor) 00021 00022 protected: 00023 FXMenuPane* menu; 00024 FXString copyString; 00025 FXString mIndent; 00026 00027 private: 00028 void initMenu(); 00029 00030 protected: 00031 FXTreeEditor(){} 00032 00033 public: 00034 enum { 00035 ID_APPEND=FXExTreeList::ID_LAST, 00036 ID_CHILD, 00037 ID_INSERT, 00038 ID_DELETE, 00039 ID_RENAME, 00040 ID_COPYITEM, 00041 ID_CUT_SEL, 00042 ID_COPY_SEL, 00043 ID_PASTE, 00044 ID_LAST 00045 }; 00046 00047 public: 00048 inline FXString getIndent() const { return mIndent; } 00049 inline void setIndent(const FXString& ind) { mIndent = ind; } 00050 00051 public: 00052 long onEditEnd(FXObject* sender, FXSelector sel, void* ptr); 00053 long onUpdMenu(FXObject* sender, FXSelector sel, void* ptr); 00054 long onRightBtnRelease(FXObject* sender, FXSelector sel, void* ptr); 00055 long onKeyPress(FXObject* sender, FXSelector sel, void* ptr); 00056 long onCmdItem(FXObject* sender, FXSelector sel, void* ptr); 00057 long onClipboardRequest(FXObject* sender, FXSelector sel, void* ptr); 00058 long onCmdCutSel(FXObject* sender, FXSelector sel, void* ptr); 00059 long onCmdCopySel(FXObject* sender, FXSelector sel, void* ptr); 00060 long onCmdPaste(FXObject* sender, FXSelector sel, void* ptr); 00061 00062 public: 00063 /// get an editor of tree items of specific num visible 00064 FXTreeEditor(FXComposite* p,FXint nvis,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 00065 00066 /// create resources 00067 virtual void create(); 00068 00069 /// set a new tree item 00070 void setNewItem(FXTreeItem* item); 00071 00072 /// set the default tree item 00073 virtual void setDefaultIcon(FXTreeItem* item); 00074 00075 /// child command 00076 void cmdChild(); 00077 00078 /// append 00079 void cmdAppend(); 00080 00081 /// insert 00082 void cmdInsert(); 00083 00084 /// delete 00085 void cmdDelete(); 00086 00087 /// rename 00088 void cmdRename(); 00089 00090 /// copy 00091 void cmdCopy(); 00092 00093 /// insert an item 00094 FXTreeItem* insert(const FXString& text, FXTreeItem* next, FXbool sel=TRUE); 00095 00096 /// put some data from the tree into a stream 00097 virtual void offerData(FXint type, FXStream* stream, FXTreeItem* item); 00098 00099 /// get some data out of strean into tree, at a specific parent 00100 virtual FXTreeItem* acceptData(FXint type, FXuchar* buffer, FXuint size, FXTreeItem* parent, FXTreeItem* prev, FXTreeItem* next); 00101 00102 /// put some item to the stream 00103 void toData(FXStream* stream, FXTreeItem* item, const FXString& indent); 00104 00105 /// take some items from the stream 00106 FXTreeItem* fromData(FXStream* stream, FXint& indent, FXTreeItem* parent, FXTreeItem* prev, FXTreeItem* next, FXTreeItem* defPrev); 00107 00108 /// dtor 00109 virtual ~FXTreeEditor(); 00110 }; 00111 00112 } // namespace FXEX 00113 #endif // FXTREEEDITOR_H