Remove #if FLTK_ABI_VERSION >= xxx directives.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11679 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2016-04-23 04:30:39 +00:00
parent 5ec684f236
commit a56124c20b
4 changed files with 1 additions and 171 deletions

View File

@ -313,9 +313,7 @@ enum Fl_Tree_Reason {
FL_TREE_REASON_NONE=0, ///< unknown reason
FL_TREE_REASON_SELECTED, ///< an item was selected
FL_TREE_REASON_DESELECTED, ///< an item was de-selected
#if FLTK_ABI_VERSION >= 10301
FL_TREE_REASON_RESELECTED, ///< an item was re-selected (e.g. double-clicked)
#endif /*FLTK_ABI_VERSION*/
FL_TREE_REASON_OPENED, ///< an item was opened
FL_TREE_REASON_CLOSED, ///< an item was closed
FL_TREE_REASON_DRAGGED ///< an item was dragged into a new place
@ -329,17 +327,11 @@ class FL_EXPORT Fl_Tree : public Fl_Group {
Fl_Tree_Reason _callback_reason; // reason for the callback
Fl_Tree_Prefs _prefs; // all the tree's settings
int _scrollbar_size; // size of scrollbar trough
#if FLTK_ABI_VERSION >= 10301
// NEW:
Fl_Tree_Item *_lastselect;
#else /*FLTK_ABI_VERSION*/
// OLD: static data inside handle() method
#endif /*FLTK_ABI_VERSION*/
void fix_scrollbar_order();
protected:
Fl_Scrollbar *_vscroll; ///< Vertical scrollbar
#if FLTK_ABI_VERSION >= 10303
Fl_Scrollbar *_hscroll; ///< Horizontal scrollbar
int _tox,_toy,_tow,_toh; ///< Tree widget outer xywh dimension: outside scrollbars, inside widget border
int _tix,_tiy,_tiw,_tih; ///< Tree widget inner xywh dimension: inside borders + scrollbars
@ -348,17 +340,10 @@ protected:
int _tree_w;
/// the calculated height of the entire tree hierarchy. See calc_tree()
int _tree_h;
#endif
void item_clicked(Fl_Tree_Item* val);
void do_callback_for_item(Fl_Tree_Item* item, Fl_Tree_Reason reason);
#if FLTK_ABI_VERSION >= 10303
// next_visible_item() and extend_selection() moved to 'public' in ABI 1.3.3
// undocmented draw_tree() dropped -- draw() does all the work now
#else
Fl_Tree_Item *next_visible_item(Fl_Tree_Item *start, int dir);
void extend_selection(Fl_Tree_Item *from, Fl_Tree_Item *to);
int draw_tree();
#endif
public:
Fl_Tree(int X, int Y, int W, int H, const char *L=0);
@ -379,12 +364,7 @@ public:
////////////////////////////////
// Item creation/removal methods
////////////////////////////////
#if FLTK_ABI_VERSION >= 10303
Fl_Tree_Item *add(const char *path, Fl_Tree_Item *newitem=0);
#else
Fl_Tree_Item *add(const char *path);
Fl_Tree_Item *add(const char *path, Fl_Tree_Item *newitem);
#endif
Fl_Tree_Item* add(Fl_Tree_Item *parent_item, const char *name);
Fl_Tree_Item *insert_above(Fl_Tree_Item *above, const char *name);
Fl_Tree_Item* insert(Fl_Tree_Item *item, const char *name, int pos);
@ -398,13 +378,8 @@ public:
Fl_Tree_Item *find_item(const char *path);
const Fl_Tree_Item *find_item(const char *path) const;
int item_pathname(char *pathname, int pathnamelen, const Fl_Tree_Item *item) const;
#if FLTK_ABI_VERSION >= 10303
const Fl_Tree_Item* find_clicked(int yonly=0) const;
Fl_Tree_Item* find_clicked(int yonly=0);
#else
const Fl_Tree_Item *find_clicked() const;
Fl_Tree_Item *find_clicked();
#endif
Fl_Tree_Item *item_clicked();
Fl_Tree_Item *first();
Fl_Tree_Item *first_visible(); // deprecated in ABI 10303
@ -414,19 +389,12 @@ public:
Fl_Tree_Item *last();
Fl_Tree_Item *last_visible(); // deprecated in ABI 10303
Fl_Tree_Item *last_visible_item();
#if FLTK_ABI_VERSION >= 10303
Fl_Tree_Item *next_visible_item(Fl_Tree_Item *start, int dir); // made public in 1.3.3 ABI
#endif
Fl_Tree_Item *first_selected_item();
Fl_Tree_Item *last_selected_item();
Fl_Tree_Item *next_item(Fl_Tree_Item *item, int dir=FL_Down, bool visible=false);
#if FLTK_ABI_VERSION >= 10303
Fl_Tree_Item *next_selected_item(Fl_Tree_Item *item=0, int dir=FL_Down);
int get_selected_items(Fl_Tree_Item_Array &items);
#else
Fl_Tree_Item *next_selected_item(Fl_Tree_Item *item=0);
Fl_Tree_Item *next_selected_item(Fl_Tree_Item *item, int dir);
#endif
//////////////////////////
// Item open/close methods
@ -457,21 +425,10 @@ public:
int dir,
int val,
bool visible);
#if FLTK_ABI_VERSION >= 10303
int extend_selection(Fl_Tree_Item *from,
Fl_Tree_Item *to,
int val=1,
bool visible=false);
#else
private:
// Adding overload if not at least one overload breaks ABI, so avoid
// by keeping private until we can break ABI. ref: http://www.ros.org/reps/rep-0009.html
int extend_selection__(Fl_Tree_Item *from,
Fl_Tree_Item *to,
int val,
bool visible);
public:
#endif
void set_item_focus(Fl_Tree_Item *item);
Fl_Tree_Item *get_item_focus() const;
int is_selected(Fl_Tree_Item *item) const;
@ -494,10 +451,8 @@ public:
void marginleft(int val);
int margintop() const;
void margintop(int val);
#if FLTK_ABI_VERSION >= 10301
int marginbottom() const;
void marginbottom(int val);
#endif /*FLTK_ABI_VERSION*/
int linespacing() const;
void linespacing(int val);
int openchild_marginbottom() const;
@ -506,10 +461,8 @@ public:
void usericonmarginleft(int val);
int labelmarginleft() const;
void labelmarginleft(int val);
#if FLTK_ABI_VERSION >= 10301
int widgetmarginleft() const;
void widgetmarginleft(int val);
#endif /*FLTK_ABI_VERSION*/
int connectorwidth() const;
void connectorwidth(int val);
Fl_Image* usericon() const;
@ -530,17 +483,13 @@ public:
void selectbox(Fl_Boxtype val);
Fl_Tree_Select selectmode() const;
void selectmode(Fl_Tree_Select val);
#if FLTK_ABI_VERSION >= 10301
Fl_Tree_Item_Reselect_Mode item_reselect_mode() const;
void item_reselect_mode(Fl_Tree_Item_Reselect_Mode mode);
Fl_Tree_Item_Draw_Mode item_draw_mode() const;
void item_draw_mode(Fl_Tree_Item_Draw_Mode mode);
void item_draw_mode(int mode);
#endif
#if FLTK_ABI_VERSION >= 10303
void calc_dimensions();
void calc_tree();
#endif
void recalc_tree();
int displayed(Fl_Tree_Item *item);
void show_item(Fl_Tree_Item *item, int yoff);

View File

@ -65,51 +65,31 @@
///
class Fl_Tree;
class FL_EXPORT Fl_Tree_Item {
#if FLTK_ABI_VERSION >= 10303
Fl_Tree *_tree; // parent tree
#endif
const char *_label; // label (memory managed)
Fl_Font _labelfont; // label's font face
Fl_Fontsize _labelsize; // label's font size
Fl_Color _labelfgcolor; // label's fg color
Fl_Color _labelbgcolor; // label's bg color (0xffffffff is 'transparent')
#if FLTK_ABI_VERSION >= 10303
/// \enum Fl_Tree_Item_Flags
enum Fl_Tree_Item_Flags {
#else
/// \enum
enum {
#endif
OPEN = 1<<0, ///> item is open
VISIBLE = 1<<1, ///> item is visible
ACTIVE = 1<<2, ///> item is active
SELECTED = 1<<3 ///> item is selected
};
#if FLTK_ABI_VERSION >= 10301
// NEW
unsigned short _flags; // misc flags
#else /*FLTK_ABI_VERSION*/
// OLD: this will go away after 1.3.x
char _open; // item is open?
char _visible; // item is visible?
char _active; // item activated?
char _selected; // item selected?
#endif /*FLTK_ABI_VERSION*/
int _xywh[4]; // xywh of this widget (if visible)
int _collapse_xywh[4]; // xywh of collapse icon (if visible)
int _label_xywh[4]; // xywh of label
Fl_Widget *_widget; // item's label widget (optional)
Fl_Image *_usericon; // item's user-specific icon (optional)
#if FLTK_ABI_VERSION >= 10304
Fl_Image *_userdeicon; // deactivated usericon
#endif
Fl_Tree_Item_Array _children; // array of child items
Fl_Tree_Item *_parent; // parent item (=0 if root)
void *_userdata; // user data that can be associated with an item
#if FLTK_ABI_VERSION >= 10301
Fl_Tree_Item *_prev_sibling; // previous sibling (same level)
Fl_Tree_Item *_next_sibling; // next sibling (same level)
#endif /*FLTK_ABI_VERSION*/
// Protected methods
protected:
void _Init(const Fl_Tree_Prefs &prefs, Fl_Tree *tree);
@ -119,19 +99,13 @@ protected:
void draw_horizontal_connector(int x1, int x2, int y, const Fl_Tree_Prefs &prefs);
void recalc_tree();
int calc_item_height(const Fl_Tree_Prefs &prefs) const;
#if FLTK_ABI_VERSION >= 10303
Fl_Color drawfgcolor() const;
Fl_Color drawbgcolor() const;
#endif
public:
Fl_Tree_Item(const Fl_Tree_Prefs &prefs); // CTOR -- backwards compatible
#if FLTK_ABI_VERSION >= 10303
Fl_Tree_Item(Fl_Tree *tree); // CTOR -- ABI 1.3.3+
virtual ~Fl_Tree_Item(); // DTOR -- ABI 1.3.3+
#else
~Fl_Tree_Item(); // DTOR -- backwards compatible
#endif
Fl_Tree_Item(const Fl_Tree_Item *o); // COPY CTOR
/// The item's x position relative to the window
int x() const { return(_xywh[0]); }
@ -155,14 +129,9 @@ public:
/// The item's label height
/// \version 1.3.3
int label_h() const { return(_label_xywh[3]); }
#if FLTK_ABI_VERSION >= 10303
virtual int draw_item_content(int render);
void draw(int X, int &Y, int W, Fl_Tree_Item *itemfocus,
int &tree_item_xmax, int lastchild=1, int render=1);
#else
void draw(int X, int &Y, int W, Fl_Widget *tree,
Fl_Tree_Item *itemfocus, const Fl_Tree_Prefs &prefs, int lastchild=1);
#endif
void show_self(const char *indent = "") const;
void label(const char *val);
const char *label() const;
@ -268,10 +237,8 @@ public:
Fl_Tree_Item *newitem);
Fl_Tree_Item *add(const Fl_Tree_Prefs &prefs,
char **arr);
#if FLTK_ABI_VERSION >= 10303
Fl_Tree_Item *replace(Fl_Tree_Item *new_item);
Fl_Tree_Item *replace_child(Fl_Tree_Item *olditem, Fl_Tree_Item *newitem);
#endif
Fl_Tree_Item *insert(const Fl_Tree_Prefs &prefs, const char *new_label, int pos=0);
Fl_Tree_Item *insert_above(const Fl_Tree_Prefs &prefs, const char *new_label);
Fl_Tree_Item* deparent(int index);
@ -306,13 +273,11 @@ public:
void parent(Fl_Tree_Item *val) {
_parent = val;
}
#if FLTK_ABI_VERSION >= 10303
const Fl_Tree_Prefs& prefs() const;
/// Return the tree for this item.
const Fl_Tree *tree() const {
return(_tree);
}
#endif
//////////////////
// State
//////////////////
@ -428,7 +393,6 @@ public:
/// Set the item's user icon to an Fl_Image. '0' will disable.
void usericon(Fl_Image *val) {
_usericon = val;
#if FLTK_ABI_VERSION >= 10304
// Update deactivated version of icon..
if ( _userdeicon ) delete _userdeicon;
if ( _usericon ) {
@ -437,30 +401,22 @@ public:
} else {
_userdeicon = 0;
}
#endif
recalc_tree(); // may change tree geometry
}
/// Get the item's user icon as an Fl_Image. Returns '0' if disabled.
Fl_Image *usericon() const {
return(_usericon);
}
#if FLTK_ABI_VERSION >= 10304
/// Return the deactivated version of the user icon, if any.
/// Returns 0 if none.
Fl_Image* userdeicon() const {
return _userdeicon;
}
#endif
//////////////////
// Events
//////////////////
#if FLTK_ABI_VERSION >= 10303
const Fl_Tree_Item* find_clicked(const Fl_Tree_Prefs &prefs, int yonly=0) const;
Fl_Tree_Item* find_clicked(const Fl_Tree_Prefs &prefs, int yonly=0);
#else
const Fl_Tree_Item* find_clicked(const Fl_Tree_Prefs &prefs) const;
Fl_Tree_Item* find_clicked(const Fl_Tree_Prefs &prefs);
#endif
int event_on_collapse_icon(const Fl_Tree_Prefs &prefs) const;
int event_on_label(const Fl_Tree_Prefs &prefs) const;
/// Is this item the root of the tree?
@ -471,7 +427,6 @@ public:
// Protected methods
// TODO: move these to top 'protected:' section
protected:
#if FLTK_ABI_VERSION >= 10301
/// Set a flag to an on or off value. val is 0 or 1.
inline void set_flag(unsigned short flag,int val) {
if ( flag==OPEN || flag==VISIBLE ) {
@ -483,27 +438,6 @@ protected:
inline int is_flag(unsigned short val) const {
return(_flags & val ? 1 : 0);
}
#else /*FLTK_ABI_VERSION*/
/// Set a flag to an on or off value. val is 0 or 1.
void set_flag(unsigned short flag,int val) {
switch (flag) {
case OPEN: _open = val; break;
case VISIBLE: _visible = val; break;
case ACTIVE: _active = val; break;
case SELECTED: _selected = val; break;
}
}
/// See if flag set. Returns 0 or 1.
int is_flag(unsigned short flag) const {
switch (flag) {
case OPEN: return(_open ? 1 : 0);
case VISIBLE: return(_visible ? 1 : 0);
case ACTIVE: return(_active ? 1 : 0);
case SELECTED: return(_selected ? 1 : 0);
default: return(0);
}
}
#endif /*FLTK_ABI_VERSION*/
};

View File

@ -49,12 +49,10 @@ class FL_EXPORT Fl_Tree_Item_Array {
int _total; // #items in array
int _size; // #items *allocated* for array
int _chunksize; // #items to enlarge mem allocation
#if FLTK_ABI_VERSION >= 10303
enum {
enum {
MANAGE_ITEM = 1, ///> manage the Fl_Tree_Item's internals (internal use only)
};
char _flags; // flags to control behavior
#endif
void enlarge(int count);
public:
Fl_Tree_Item_Array(int new_chunksize = 10); // CTOR
@ -73,17 +71,7 @@ public:
return(_total);
}
/// Swap the two items at index positions \p ax and \p bx.
#if FLTK_ABI_VERSION >= 10301
// NEW -- code moved to .cxx
void swap(int ax, int bx);
#else /*FLTK_ABI_VERSION*/
// OLD
void swap(int ax, int bx) {
Fl_Tree_Item *asave = _items[ax];
_items[ax] = _items[bx];
_items[bx] = asave;
}
#endif /*FLTK_ABI_VERSION*/
int move(int to, int from);
int deparent(int pos);
int reparent(Fl_Tree_Item *item, Fl_Tree_Item *newparent, int pos);
@ -93,7 +81,6 @@ public:
void replace(int pos, Fl_Tree_Item *new_item);
void remove(int index);
int remove(Fl_Tree_Item *item);
#if FLTK_ABI_VERSION >= 10303
/// Option to control if Fl_Tree_Item_Array's destructor will also destroy the Fl_Tree_Item's.
/// If set: items and item array is destroyed.
/// If clear: only the item array is destroyed, not items themselves.
@ -103,7 +90,6 @@ public:
int manage_item_destroy() const {
return _flags & MANAGE_ITEM ? 1 : 0;
}
#endif
};
#endif /*_FL_TREE_ITEM_ARRAY_H*/

View File

@ -73,7 +73,6 @@ enum Fl_Tree_Select {
///< reordered by mouse drag.
};
#if FLTK_ABI_VERSION >= 10301
/// \enum Fl_Tree_Item_Reselect_Mode
/// Defines the ways an item can be (re) selected
/// via item_reselect_mode().
@ -93,12 +92,9 @@ enum Fl_Tree_Item_Draw_Mode {
FL_TREE_ITEM_DRAW_LABEL_AND_WIDGET=1, ///< If widget() defined, include label to the left of the widget
FL_TREE_ITEM_HEIGHT_FROM_WIDGET=2 ///< If widget() defined, widget()'s height controls item's height
};
#endif /*FLTK_ABI_VERSION*/
#if FLTK_ABI_VERSION >= 10303
class Fl_Tree_Item;
typedef void (Fl_Tree_Item_Draw_Callback)(Fl_Tree_Item*, void*);
#endif
/// \class Fl_Tree_Prefs
///
@ -113,15 +109,11 @@ class FL_EXPORT Fl_Tree_Prefs {
Fl_Fontsize _labelsize; // label's font size
int _margintop; // --
int _marginleft; // |- tree's controllable margins
#if FLTK_ABI_VERSION >= 10301
int _marginbottom; // --
#endif
int _openchild_marginbottom; // extra space below an open child tree
int _usericonmarginleft; // space to left of user icon (if any)
int _labelmarginleft; // space to left of label
#if FLTK_ABI_VERSION >= 10301
int _widgetmarginleft; // space to left of widget
#endif
int _connectorwidth; // connector width (right of open/close icon)
int _linespacing; // vertical space between lines
// Colors
@ -132,29 +124,21 @@ class FL_EXPORT Fl_Tree_Prefs {
Fl_Image *_openimage; // the 'open' icon [+]
Fl_Image *_closeimage; // the 'close' icon [-]
Fl_Image *_userimage; // user's own icon
#if FLTK_ABI_VERSION >= 10304
Fl_Image *_opendeimage; // deactivated 'open' icon
Fl_Image *_closedeimage; // deactivated 'close' icon
Fl_Image *_userdeimage; // deactivated user icon
#endif
char _showcollapse; // 1=show collapse icons, 0=don't
char _showroot; // show the root item as part of the tree
Fl_Tree_Sort _sortorder; // none, ascening, descending, etc.
Fl_Boxtype _selectbox; // selection box type
Fl_Tree_Select _selectmode; // selection mode
#if FLTK_ABI_VERSION >= 10301
Fl_Tree_Item_Reselect_Mode _itemreselectmode; // controls item selection callback() behavior
Fl_Tree_Item_Draw_Mode _itemdrawmode; // controls how items draw label + widget()
#endif /*FLTK_ABI_VERSION*/
#if FLTK_ABI_VERSION >= 10303
Fl_Tree_Item_Draw_Callback *_itemdrawcallback; // callback to handle drawing items (0=none)
void *_itemdrawuserdata; // data for drawing items (0=none)
#endif
public:
Fl_Tree_Prefs();
#if FLTK_ABI_VERSION >= 10304
~Fl_Tree_Prefs();
#endif
////////////////////////////
// Labels
@ -171,7 +155,6 @@ public:
inline Fl_Color item_labelfgcolor() const { return(_labelfgcolor); }
/// Set the default label foreground color
inline void item_labelfgcolor(Fl_Color val) { _labelfgcolor = val; }
#if FLTK_ABI_VERSION >= 10301
/// Get the default label background color.
/// This returns the Fl_Tree::color() unless item_labelbgcolor()
/// has been set explicitly.
@ -185,16 +168,6 @@ public:
inline void item_labelbgcolor(Fl_Color val) {
_labelbgcolor = val;
}
#else /*FLTK_ABI_VERSION*/
/// Get the default label background color
inline Fl_Color item_labelbgcolor() const {
return(_labelbgcolor);
}
/// Set the default label background color
inline void item_labelbgcolor(Fl_Color val) {
_labelbgcolor = val;
}
#endif /*FLTK_ABI_VERSION*/
/////////////////
// Obsolete names - for 1.3.0 backwards compat
@ -235,7 +208,6 @@ public:
inline void margintop(int val) {
_margintop = val;
}
#if FLTK_ABI_VERSION >= 10301
/// Get the bottom margin's value in pixels.
/// This is the extra distance the vertical scroller lets you travel.
inline int marginbottom() const {
@ -246,7 +218,6 @@ public:
inline void marginbottom(int val) {
_marginbottom = val;
}
#endif /*FLTK_ABI_VERSION*/
/// Get the margin below an open child in pixels
inline int openchild_marginbottom() const {
return(_openchild_marginbottom);
@ -271,7 +242,6 @@ public:
inline void labelmarginleft(int val) {
_labelmarginleft = val;
}
#if FLTK_ABI_VERSION >= 10301
/// Get the widget()'s left margin value in pixels
inline int widgetmarginleft() const {
return(_widgetmarginleft);
@ -280,7 +250,6 @@ public:
inline void widgetmarginleft(int val) {
_widgetmarginleft = val;
}
#endif /*FLTK_ABI_VERSION*/
/// Get the line spacing value in pixels
inline int linespacing() const {
return(_linespacing);
@ -348,7 +317,6 @@ public:
///
inline void usericon(Fl_Image *val) {
_userimage = val;
#if FLTK_ABI_VERSION >= 10304
// Update deactivated version of icon..
if ( _userdeimage ) delete _userdeimage;
if ( _userimage ) {
@ -357,10 +325,8 @@ public:
} else {
_userdeimage = 0;
}
#endif
}
#if FLTK_ABI_VERSION >= 10304
/// Return the deactivated version of the open icon, if any.
/// Returns 0 if none.
inline Fl_Image *opendeicon() const {
@ -376,7 +342,6 @@ public:
inline Fl_Image *userdeicon() const {
return _userdeimage;
}
#endif
////////////////////////////
// Options
@ -438,7 +403,6 @@ public:
inline void selectmode(Fl_Tree_Select val) {
_selectmode = val;
}
#if FLTK_ABI_VERSION >= 10301
/// Returns the current item re/selection mode
Fl_Tree_Item_Reselect_Mode item_reselect_mode() const {
return _itemreselectmode;
@ -459,8 +423,6 @@ public:
inline void item_draw_mode(Fl_Tree_Item_Draw_Mode val) {
_itemdrawmode = val;
}
#endif
#if FLTK_ABI_VERSION >= 10303
void item_draw_callback(Fl_Tree_Item_Draw_Callback *cb, void *data=0) {
_itemdrawcallback = cb;
_itemdrawuserdata = data;
@ -474,7 +436,6 @@ public:
void do_item_draw_callback(Fl_Tree_Item *o) const {
_itemdrawcallback(o, _itemdrawuserdata);
}
#endif
};
#endif /*FL_TREE_PREFS_H*/