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 _usericonmarginleft; // space to left of user icon (if any) 00068 int _labelmarginleft; // space to left of label 00069 int _connectorwidth; // connector width (right of open/close icon) 00070 int _linespacing; // vertical space between lines 00071 // Colors 00072 Fl_Color _fgcolor; // label's foreground color 00073 Fl_Color _bgcolor; // background color 00074 Fl_Color _selectcolor; // selection color 00075 Fl_Color _inactivecolor; // inactive color 00076 Fl_Color _connectorcolor; // connector dotted line color 00077 Fl_Tree_Connector _connectorstyle; // connector line style 00078 Fl_Pixmap *_openpixmap; // the 'open' icon [+] 00079 Fl_Pixmap *_closepixmap; // the 'close' icon [-] 00080 Fl_Pixmap *_userpixmap; // user's own icon 00081 char _showcollapse; // 1=show collapse icons, 0=don't 00082 char _showroot; // show the root item as part of the tree 00083 Fl_Tree_Sort _sortorder; // none, ascening, descending, etc. 00084 Fl_Boxtype _selectbox; // selection box type 00085 Fl_Tree_Select _selectmode; // selection mode 00086 public: 00087 Fl_Tree_Prefs(); 00088 00090 // Labels 00093 inline int labelfont() const { 00094 return(_labelfont); 00095 } 00097 inline void labelfont(int val) { 00098 _labelfont = val; 00099 } 00101 inline int labelsize() const { 00102 return(_labelsize); 00103 } 00105 inline void labelsize(int val) { 00106 _labelsize = val; 00107 } 00108 00110 // Margins 00113 inline int marginleft() const { 00114 return(_marginleft); 00115 } 00117 inline void marginleft(int val) { 00118 _marginleft = val; 00119 } 00121 inline int margintop() const { 00122 return(_margintop); 00123 } 00125 inline void margintop(int val) { 00126 _margintop = val; 00127 } 00128 00129 /****** NOT IMPLEMENTED 00130 inline int marginright() const { 00131 return(_marginright); 00132 } 00133 inline void marginright(int val) { 00134 _marginright = val; 00135 } 00136 inline int marginbottom() const { 00137 return(_marginbottom); 00138 } 00139 inline void marginbottom(int val) { 00140 _marginbottom = val; 00141 } 00142 *******/ 00143 00145 inline int usericonmarginleft() const { 00146 return(_usericonmarginleft); 00147 } 00149 inline void usericonmarginleft(int val) { 00150 _usericonmarginleft = val; 00151 } 00153 inline int labelmarginleft() const { 00154 return(_labelmarginleft); 00155 } 00157 inline void labelmarginleft(int val) { 00158 _labelmarginleft = val; 00159 } 00161 inline int linespacing() const { 00162 return(_linespacing); 00163 } 00165 inline void linespacing(int val) { 00166 _linespacing = val; 00167 } 00168 00170 // Colors and Styles 00173 inline Fl_Color fgcolor() const { 00174 return(_fgcolor); 00175 } 00177 inline void fgcolor(Fl_Color val) { 00178 _fgcolor = val; 00179 } 00181 inline Fl_Color bgcolor() const { 00182 return(_bgcolor); 00183 } 00185 inline void bgcolor(Fl_Color val) { 00186 _bgcolor = val; 00187 } 00189 inline Fl_Color selectcolor() const { 00190 return(_selectcolor); 00191 } 00193 inline void selectcolor(Fl_Color val) { 00194 _selectcolor = val; 00195 } 00197 inline Fl_Color inactivecolor() const { 00198 return(_inactivecolor); 00199 } 00201 inline void inactivecolor(Fl_Color val) { 00202 _inactivecolor = val; 00203 } 00205 inline Fl_Color connectorcolor() const { 00206 return(_connectorcolor); 00207 } 00209 inline void connectorcolor(Fl_Color val) { 00210 _connectorcolor = val; 00211 } 00213 inline Fl_Tree_Connector connectorstyle() const { 00214 return(_connectorstyle); 00215 } 00217 inline void connectorstyle(Fl_Tree_Connector val) { 00218 _connectorstyle = val; 00219 } 00221 inline int connectorwidth() const { 00222 return(_connectorwidth); 00223 } 00225 inline void connectorwidth(int val) { 00226 _connectorwidth = val; 00227 } 00228 00230 // Icons 00235 inline Fl_Pixmap *openicon() const { 00236 return(_openpixmap); 00237 } 00238 void openicon(Fl_Pixmap *val); 00242 inline Fl_Pixmap *closeicon() const { 00243 return(_closepixmap); 00244 } 00245 void closeicon(Fl_Pixmap *val); 00247 inline Fl_Pixmap *usericon() const { 00248 return(_userpixmap); 00249 } 00253 inline void usericon(Fl_Pixmap *val) { 00254 _userpixmap = val; 00255 } 00256 00258 // Options 00261 inline char showcollapse() const { 00262 return(_showcollapse); 00263 } 00272 inline void showcollapse(int val) { 00273 _showcollapse = val; 00274 } 00276 inline Fl_Tree_Sort sortorder() const { 00277 return(_sortorder); 00278 } 00283 inline void sortorder(Fl_Tree_Sort val) { 00284 _sortorder = val; 00285 } 00287 inline Fl_Boxtype selectbox() const { 00288 return(_selectbox); 00289 } 00291 inline void selectbox(Fl_Boxtype val) { 00292 _selectbox = val; 00293 } 00295 inline int showroot() const { 00296 return(int(_showroot)); 00297 } 00302 inline void showroot(int val) { 00303 _showroot = char(val); 00304 } 00306 inline Fl_Tree_Select selectmode() const { 00307 return(_selectmode); 00308 } 00314 inline void selectmode(Fl_Tree_Select val) { 00315 _selectmode = val; 00316 } 00317 }; 00318 00319 #endif /*FL_TREE_PREFS_H*/