Author: matt
Date: 2009-09-27 05:06:35 -0700 (Sun, 27 Sep 2009)
New Revision: 6905
Log:
Consolidated all possible flag values into a single enum in Fl_Widget (STR 
#2161)

Modified:
   branches/branch-1.3/CHANGES
   branches/branch-1.3/FL/Fl_Widget.H
   branches/branch-1.3/FL/Fl_Window.H
   branches/branch-1.3/src/Fl_Window.cxx
   branches/branch-1.3/src/Fl_Window_fullscreen.cxx
   branches/branch-1.3/src/Fl_mac.cxx
   branches/branch-1.3/src/Fl_win32.cxx
   branches/branch-1.3/src/Fl_x.cxx

Modified: branches/branch-1.3/CHANGES
===================================================================
--- branches/branch-1.3/CHANGES 2009-09-27 11:39:02 UTC (rev 6904)
+++ branches/branch-1.3/CHANGES 2009-09-27 12:06:35 UTC (rev 6905)
@@ -1,5 +1,6 @@
 CHANGES IN FLTK 1.3.0
 
+       - Managing all Widget flags in a single location now (STR #2161)
        - Fixed all color related call to Fl_Color type (STR #2208)
        - File chooser preview now recognizes utf8 encoded 
          text files (STR #2218)

Modified: branches/branch-1.3/FL/Fl_Widget.H
===================================================================
--- branches/branch-1.3/FL/Fl_Widget.H  2009-09-27 11:39:02 UTC (rev 6904)
+++ branches/branch-1.3/FL/Fl_Widget.H  2009-09-27 12:06:35 UTC (rev 6905)
@@ -144,14 +144,21 @@
       See activate(), output(), visible(), changed(), set_visible_focus()
   */
   enum {
-        INACTIVE=1,           ///< the widget can't receive focus, and is 
disabled but potentially visible
-        INVISIBLE=2,          ///< the widget is not drawn but can receive 
events
-        OUTPUT=4,             ///< for output only
-        SHORTCUT_LABEL=64,    ///< the label contains a shortcut we need to 
draw
-        CHANGED=128,          ///< the widget value changed
-        VISIBLE_FOCUS=512,    ///< accepts keyboard focus navigation if the 
widget can have the focus
-        COPIED_LABEL=1024,    ///< the widget label is internally copied, its 
destruction is handled by the widget
-        CLIP_CHILDREN = 2048  ///< all drawing within this widget will be 
clipped (Fl_Group)
+        INACTIVE = 1,         ///< the widget can't receive focus, and is 
disabled but potentially visible
+        INVISIBLE,            ///< the widget is not drawn but can receive 
events
+        OUTPUT,               ///< for output only
+        NOBORDER,             ///< don't draw a decoration (Fl_Window)
+        FORCE_POSITION,       ///< don't let the window manager position thi 
window (Fl_Window)
+        NON_MODAL,            ///< thisis a hovering toolbar window (Fl_Window)
+        SHORTCUT_LABEL,       ///< the label contains a shortcut we need to 
draw
+        CHANGED,              ///< the widget value changed
+        OVERRIDE,             ///< position window on top (Fl_Window)
+        VISIBLE_FOCUS,        ///< accepts keyboard focus navigation if the 
widget can have the focus
+        COPIED_LABEL,         ///< the widget label is internally copied, its 
destruction is handled by the widget
+        CLIP_CHILDREN,        ///< all drawing within this widget will be 
clipped (Fl_Group)
+        MENU_WINDOW,          ///< a temporary popup window, dismissed by 
clicking outside (Fl_Window)
+        TOOLTIP_WINDOW,       ///< a temporary popup, transparent to events, 
and dismissed easily (Fl_Window)
+        MODAL,                ///< a window blocking input to all other winows 
(Fl_Window)
   };
   void draw_box() const;
   void draw_box(Fl_Boxtype t, Fl_Color c) const;

Modified: branches/branch-1.3/FL/Fl_Window.H
===================================================================
--- branches/branch-1.3/FL/Fl_Window.H  2009-09-27 11:39:02 UTC (rev 6904)
+++ branches/branch-1.3/FL/Fl_Window.H  2009-09-27 12:06:35 UTC (rev 6905)
@@ -69,16 +69,6 @@
   Fl_Cursor cursor_default;
   Fl_Color cursor_fg, cursor_bg;
   void size_range_();
-  // values for flags():
-  enum {
-    FL_MODAL = 64,
-    FL_NOBORDER = 8,
-    FL_FORCE_POSITION = 16,
-    FL_NON_MODAL = 32,
-    FL_OVERRIDE = 256,
-    FL_MENU_WINDOW = 4096,
-    FL_TOOLTIP_WINDOW = 8192
-  };
   void _Fl_Window(); // constructor innards
 
   // unimplemented copy ctor and assignment operator
@@ -167,13 +157,13 @@
     Fast inline function to turn the border
     off. It only works before show() is called.
   */
-  void clear_border()  {set_flag(FL_NOBORDER);}
+  void clear_border()  {set_flag(NOBORDER);}
   /** See int Fl_Window::border(int) */
-  int border() const   {return !(flags() & FL_NOBORDER);}
-  /** Activate the flags FL_NOBORDER|FL_OVERRIDE */
-  void set_override()  {set_flag(FL_NOBORDER|FL_OVERRIDE);}
+  int border() const   {return !(flags() & NOBORDER);}
+  /** Activate the flags NOBORDER|FL_OVERRIDE */
+  void set_override()  {set_flag(NOBORDER|OVERRIDE);}
   /** Returns non zero if FL_OVERRIDE flag is set, 0 otherwise. */
-  int override() const  { return flags()&FL_OVERRIDE; }
+  int override() const  { return flags()&OVERRIDE; }
   /**
     A "modal" window, when shown(), will prevent any events from
     being delivered to other windows in the same program, and will also
@@ -183,18 +173,18 @@
     which window (if any) is modal by calling 
     Fl::modal().
   */
-  void set_modal()     {set_flag(FL_MODAL);}
+  void set_modal()     {set_flag(MODAL);}
   /**  Returns true if this window is modal.  */
-  int modal() const    {return flags() & FL_MODAL;}
+  int modal() const    {return flags() & MODAL;}
   /**
     A "non-modal" window (terminology borrowed from Microsoft Windows)
     acts like a modal() one in that it remains on top, but it has
     no effect on event delivery.  There are <I>three</I> states for a
     window: modal, non-modal, and normal.
   */
-  void set_non_modal() {set_flag(FL_NON_MODAL);}
+  void set_non_modal() {set_flag(NON_MODAL);}
   /**  Returns true if this window is modal or non-modal. */
-  int non_modal() const {return flags() & (FL_NON_MODAL|FL_MODAL);}
+  int non_modal() const {return flags() & (NON_MODAL|MODAL);}
 
   /**
     Marks the window as a menu window.
@@ -209,10 +199,10 @@
     This must be called before the window is shown and cannot be changed
     later.
   */
-  void set_menu_window()       {set_flag(FL_MENU_WINDOW);}
+  void set_menu_window()       {set_flag(MENU_WINDOW);}
 
   /**  Returns true if this window is a menu window. */
-  int menu_window() const {return flags() & FL_MENU_WINDOW;}
+  int menu_window() const {return flags() & MENU_WINDOW;}
 
   /**
     Marks the window as a tooltip window.
@@ -230,10 +220,10 @@
     \note Since Fl_Tooltip_Window is derived from Fl_Menu_Window, this
     also \b clears the menu_window() state.
   */
-  void set_tooltip_window()    { set_flag(FL_TOOLTIP_WINDOW);
-                                 clear_flag(FL_MENU_WINDOW); }
+  void set_tooltip_window()    { set_flag(TOOLTIP_WINDOW);
+                                 clear_flag(MENU_WINDOW); }
   /**  Returns true if this window is a tooltip window. */
-  int tooltip_window() const {return flags() & FL_TOOLTIP_WINDOW;}
+  int tooltip_window() const {return flags() & TOOLTIP_WINDOW;}
 
   /**
     Position the window so that the mouse is pointing at the
@@ -252,7 +242,7 @@
     so that the next time show() is called the window manager is
     free to position the window.
   */
-  void free_position() {clear_flag(FL_FORCE_POSITION);}
+  void free_position() {clear_flag(FORCE_POSITION);}
   /**
     Set the allowable range the user can resize this window to.  This only
     works for top-level windows.

Modified: branches/branch-1.3/src/Fl_Window.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Window.cxx       2009-09-27 11:39:02 UTC (rev 
6904)
+++ branches/branch-1.3/src/Fl_Window.cxx       2009-09-27 12:06:35 UTC (rev 
6905)
@@ -66,7 +66,7 @@
   cursor_bg      = FL_WHITE;
 
   _Fl_Window();
-  set_flag(FL_FORCE_POSITION);
+  set_flag(FORCE_POSITION);
 }
 
 Fl_Window::Fl_Window(int W, int H, const char *l)

Modified: branches/branch-1.3/src/Fl_Window_fullscreen.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Window_fullscreen.cxx    2009-09-27 11:39:02 UTC 
(rev 6904)
+++ branches/branch-1.3/src/Fl_Window_fullscreen.cxx    2009-09-27 12:06:35 UTC 
(rev 6905)
@@ -43,10 +43,10 @@
 void Fl_Window::border(int b) {
   if (b) {
     if (border()) return;
-    clear_flag(FL_NOBORDER);
+    clear_flag(NOBORDER);
   } else {
     if (!border()) return;
-    set_flag(FL_NOBORDER);
+    set_flag(NOBORDER);
   }
 #if defined(USE_X11)
   if (shown()) Fl_X::i(this)->sendxjunk();

Modified: branches/branch-1.3/src/Fl_mac.cxx
===================================================================
--- branches/branch-1.3/src/Fl_mac.cxx  2009-09-27 11:39:02 UTC (rev 6904)
+++ branches/branch-1.3/src/Fl_mac.cxx  2009-09-27 12:06:35 UTC (rev 6905)
@@ -2177,7 +2177,7 @@
       wp += 2*bx;
       hp += 2*by+bt;
     }
-    if (!(w->flags() & Fl_Window::FL_FORCE_POSITION)) {
+    if (!(w->flags() & Fl_Widget::FORCE_POSITION)) {
       // use the Carbon functions below for default window positioning
       w->x(xyPos+Fl::x());
       w->y(xyPos+Fl::y());
@@ -2224,7 +2224,7 @@
       SetWindowClass(x->xid, kFloatingWindowClass);
       SetWindowActivationScope(x->xid, kWindowActivationScopeAll);
     }
-    if (!(w->flags() & Fl_Window::FL_FORCE_POSITION))
+    if (!(w->flags() & Fl_Widget::FORCE_POSITION))
     {
       WindowRef pw = Fl_X::first ? Fl_X::first->xid : 0 ;
       if (w->modal()) {
@@ -2404,7 +2404,7 @@
   int is_a_resize = (W != w() || H != h());
 //  printf("Fl_Winodw::resize(X=%d, Y=%d, W=%d, H=%d), is_a_resize=%d, 
resize_from_system=%p, this=%p\n",
 //         X, Y, W, H, is_a_resize, resize_from_system, this);
-  if (X != x() || Y != y()) set_flag(FL_FORCE_POSITION);
+  if (X != x() || Y != y()) set_flag(FORCE_POSITION);
   else if (!is_a_resize) return;
   if ( (resize_from_system!=this) && (!parent()) && shown()) {
     if (is_a_resize) {

Modified: branches/branch-1.3/src/Fl_win32.cxx
===================================================================
--- branches/branch-1.3/src/Fl_win32.cxx        2009-09-27 11:39:02 UTC (rev 
6904)
+++ branches/branch-1.3/src/Fl_win32.cxx        2009-09-27 12:06:35 UTC (rev 
6905)
@@ -1292,7 +1292,7 @@
   int resize_from_program = (this != resize_bug_fix);
   if (!resize_from_program) resize_bug_fix = 0;
   if (X != x() || Y != y()) {
-    set_flag(FL_FORCE_POSITION);
+    set_flag(FORCE_POSITION);
   } else {
     if (!is_a_resize) return;
     flags |= SWP_NOMOVE;
@@ -1474,7 +1474,7 @@
       wp += 2*bx;
       hp += 2*by+bt;
     }
-    if (!(w->flags() & Fl_Window::FL_FORCE_POSITION)) {
+    if (!(w->flags() & Fl_Widget::FORCE_POSITION)) {
       xp = yp = CW_USEDEFAULT;
     } else {
       if (!Fl::grab()) {

Modified: branches/branch-1.3/src/Fl_x.cxx
===================================================================
--- branches/branch-1.3/src/Fl_x.cxx    2009-09-27 11:39:02 UTC (rev 6904)
+++ branches/branch-1.3/src/Fl_x.cxx    2009-09-27 12:06:35 UTC (rev 6905)
@@ -1352,7 +1352,7 @@
   int is_a_resize = (W != w() || H != h());
   int resize_from_program = (this != resize_bug_fix);
   if (!resize_from_program) resize_bug_fix = 0;
-  if (is_a_move && resize_from_program) set_flag(FL_FORCE_POSITION);
+  if (is_a_move && resize_from_program) set_flag(FORCE_POSITION);
   else if (!is_a_resize && !is_a_move) return;
   if (is_a_resize) {
     Fl_Group::resize(X,Y,W,H);
@@ -1430,7 +1430,7 @@
   if (!win->parent() && !Fl::grab()) {
     // center windows in case window manager does not do anything:
 #ifdef FL_CENTER_WINDOWS
-    if (!(win->flags() & Fl_Window::FL_FORCE_POSITION)) {
+    if (!(win->flags() & Fl_Widget::FORCE_POSITION)) {
       win->x(X = scr_x+(scr_w-W)/2);
       win->y(Y = scr_y+(scr_h-H)/2);
     }
@@ -1636,7 +1636,7 @@
     prop[1] = 1|2|16; // MWM_FUNC_ALL | MWM_FUNC_RESIZE | MWM_FUNC_MAXIMIZE
   }
 
-  if (w->flags() & Fl_Window::FL_FORCE_POSITION) {
+  if (w->flags() & Fl_Widget::FORCE_POSITION) {
     hints->flags |= USPosition;
     hints->x = w->x();
     hints->y = w->y();

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to