00001 #ifndef FL_TREE_PREFS_H 00002 #define FL_TREE_PREFS_H 00003 00004 //INSERT-LGPL-HEADER-HERE// 00005 00020 00023 00027 enum Fl_Tree_Sort { 00028 FL_TREE_SORT_NONE=0, 00029 FL_TREE_SORT_ASCENDING=1, 00030 FL_TREE_SORT_DESCENDING=2 00031 }; 00032 00036 enum Fl_Tree_Connector { 00037 FL_TREE_CONNECTOR_NONE=0, 00038 FL_TREE_CONNECTOR_DOTTED=1, 00039 FL_TREE_CONNECTOR_SOLID=2 00040 }; 00041 00045 enum Fl_Tree_Select { 00046 FL_TREE_SELECT_NONE=0, 00047 FL_TREE_SELECT_SINGLE, 00048 FL_TREE_SELECT_MULTI 00049 00050 }; 00051 00060 class Fl_Tree_Prefs { 00061 int _labelfont; // label's font face 00062 int _labelsize; // label's font size 00063 int _margintop; // -- 00064 int _marginleft; // |- tree's margins 00065 //int _marginright; // | 00066 //int _marginbottom; // -- 00067 int _openchild_marginbottom; // extra space below an open child tree 00068 int _usericonmarginleft; // space to left of user icon (if any) 00069 int _labelmarginleft; // space to left of label 00070 int _connectorwidth; // connector width (right of open/close icon) 00071 int _linespacing; // vertical space between lines 00072 // Colors 00073 Fl_Color _fgcolor; // label's foreground color 00074 Fl_Color _bgcolor; // background color 00075 Fl_Color _selectcolor; // selection color 00076 Fl_Color _inactivecolor; // inactive color 00077 Fl_Color _connectorcolor; // connector dotted line color 00078 Fl_Tree_Connector _connectorstyle; // connector line style 00079 Fl_Pixmap *_openpixmap; // the 'open' icon [+] 00080 Fl_Pixmap *_closepixmap; // the 'close' icon [-] 00081 Fl_Pixmap *_userpixmap; // user's own icon 00082 char _showcollapse; // 1=show collapse icons, 0=don't 00083 char _showroot; // show the root item as part of the tree 00084 Fl_Tree_Sort _sortorder; // none, ascening, descending, etc. 00085 Fl_Boxtype _selectbox; // selection box type 00086 Fl_Tree_Select _selectmode; // selection mode 00087 public: 00088 Fl_Tree_Prefs(); 00089 00091 // Labels 00094 inline int labelfont() const { 00095 return(_labelfont); 00096 } 00098 inline void labelfont(int val) { 00099 _labelfont = val; 00100 } 00102 inline int labelsize() const { 00103 return(_labelsize); 00104 } 00106 inline void labelsize(int val) { 00107 _labelsize = val; 00108 } 00109 00111 // Margins 00114 inline int marginleft() const { 00115 return(_marginleft); 00116 } 00118 inline void marginleft(int val) { 00119 _marginleft = val; 00120 } 00122 inline int margintop() const { 00123 return(_margintop); 00124 } 00126 inline void margintop(int val) { 00127 _margintop = val; 00128 } 00130 inline int openchild_marginbottom() const { 00131 return(_openchild_marginbottom); 00132 } 00134 inline void openchild_marginbottom(int val) { 00135 _openchild_marginbottom = val; 00136 } 00137 00138 /****** NOT IMPLEMENTED 00139 inline int marginright() const { 00140 return(_marginright); 00141 } 00142 inline void marginright(int val) { 00143 _marginright = val; 00144 } 00145 inline int marginbottom() const { 00146 return(_marginbottom); 00147 } 00148 inline void marginbottom(int val) { 00149 _marginbottom = val; 00150 } 00151 *******/ 00152 00154 inline int usericonmarginleft() const { 00155 return(_usericonmarginleft); 00156 } 00158 inline void usericonmarginleft(int val) { 00159 _usericonmarginleft = val; 00160 } 00162 inline int labelmarginleft() const { 00163 return(_labelmarginleft); 00164 } 00166 inline void labelmarginleft(int val) { 00167 _labelmarginleft = val; 00168 } 00170 inline int linespacing() const { 00171 return(_linespacing); 00172 } 00174 inline void linespacing(int val) { 00175 _linespacing = val; 00176 } 00177 00179 // Colors and Styles 00182 inline Fl_Color fgcolor() const { 00183 return(_fgcolor); 00184 } 00186 inline void fgcolor(Fl_Color val) { 00187 _fgcolor = val; 00188 } 00190 inline Fl_Color bgcolor() const { 00191 return(_bgcolor); 00192 } 00194 inline void bgcolor(Fl_Color val) { 00195 _bgcolor = val; 00196 } 00198 inline Fl_Color selectcolor() const { 00199 return(_selectcolor); 00200 } 00202 inline void selectcolor(Fl_Color val) { 00203 _selectcolor = val; 00204 } 00206 inline Fl_Color inactivecolor() const { 00207 return(_inactivecolor); 00208 } 00210 inline void inactivecolor(Fl_Color val) { 00211 _inactivecolor = val; 00212 } 00214 inline Fl_Color connectorcolor() const { 00215 return(_connectorcolor); 00216 } 00218 inline void connectorcolor(Fl_Color val) { 00219 _connectorcolor = val; 00220 } 00222 inline Fl_Tree_Connector connectorstyle() const { 00223 return(_connectorstyle); 00224 } 00226 inline void connectorstyle(Fl_Tree_Connector val) { 00227 _connectorstyle = val; 00228 } 00230 inline void connectorstyle(int val) { 00231 _connectorstyle = Fl_Tree_Connector(val); 00232 } 00234 inline int connectorwidth() const { 00235 return(_connectorwidth); 00236 } 00238 inline void connectorwidth(int val) { 00239 _connectorwidth = val; 00240 } 00241 00243 // Icons 00248 inline Fl_Pixmap *openicon() const { 00249 return(_openpixmap); 00250 } 00251 void openicon(Fl_Pixmap *val); 00255 inline Fl_Pixmap *closeicon() const { 00256 return(_closepixmap); 00257 } 00258 void closeicon(Fl_Pixmap *val); 00260 inline Fl_Pixmap *usericon() const { 00261 return(_userpixmap); 00262 } 00266 inline void usericon(Fl_Pixmap *val) { 00267 _userpixmap = val; 00268 } 00269 00271 // Options 00274 inline char showcollapse() const { 00275 return(_showcollapse); 00276 } 00285 inline void showcollapse(int val) { 00286 _showcollapse = val; 00287 } 00289 inline Fl_Tree_Sort sortorder() const { 00290 return(_sortorder); 00291 } 00296 inline void sortorder(Fl_Tree_Sort val) { 00297 _sortorder = val; 00298 } 00300 inline Fl_Boxtype selectbox() const { 00301 return(_selectbox); 00302 } 00304 inline void selectbox(Fl_Boxtype val) { 00305 _selectbox = val; 00306 } 00308 inline int showroot() const { 00309 return(int(_showroot)); 00310 } 00315 inline void showroot(int val) { 00316 _showroot = char(val); 00317 } 00319 inline Fl_Tree_Select selectmode() const { 00320 return(_selectmode); 00321 } 00327 inline void selectmode(Fl_Tree_Select val) { 00328 _selectmode = val; 00329 } 00330 }; 00331 00332 #endif /*FL_TREE_PREFS_H*/