FLTK logo

[Library] r7476 - in branches/branch-1.3: FL fluid src

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[Library] r7476 - in branches/branch-1.3: FL fluid src fltk-dev Apr 09, 2010  
 
Author: matt
Date: 2010-04-09 15:18:05 -0700 (Fri, 09 Apr 2010)
New Revision: 7476
Log:
Added new label alignments for image and text to Fluid.

Modified:
   branches/branch-1.3/FL/Enumerations.H
   branches/branch-1.3/fluid/Fl_Widget_Type.cxx
   branches/branch-1.3/fluid/widget_panel.cxx
   branches/branch-1.3/fluid/widget_panel.fl
   branches/branch-1.3/fluid/widget_panel.h
   branches/branch-1.3/src/Fl_Button.cxx
   branches/branch-1.3/src/fl_draw.cxx

Modified: branches/branch-1.3/FL/Enumerations.H
===================================================================
--- branches/branch-1.3/FL/Enumerations.H	2010-04-09 17:01:58 UTC (rev 7475)
+++ branches/branch-1.3/FL/Enumerations.H	2010-04-09 22:18:05 UTC (rev 7476)
@@ -658,17 +658,17 @@
   /** Draw the label inside of the widget. */
 const Fl_Align FL_ALIGN_INSIDE		= (Fl_Align)16;
   /** If the label contains an image, draw the text on top of the image. */
-const Fl_Align FL_ALIGN_TEXT_OVER_IMAGE	= (Fl_Align)32;
+const Fl_Align FL_ALIGN_TEXT_OVER_IMAGE	= (Fl_Align)0x0020;
   /** If the label contains an image, draw the text below the image. */
-const Fl_Align FL_ALIGN_IMAGE_OVER_TEXT	= (Fl_Align)0;
+const Fl_Align FL_ALIGN_IMAGE_OVER_TEXT	= (Fl_Align)0x0000;
   /** All parts of the label that are lager than the widget will not be drawn . */
 const Fl_Align FL_ALIGN_CLIP		= (Fl_Align)64;
   /** Wrap text that does not fit the width of the widget. */
 const Fl_Align FL_ALIGN_WRAP		= (Fl_Align)128;
+  /** If the label contains an image, draw the text to the right of the image. */
+const Fl_Align FL_ALIGN_IMAGE_NEXT_TO_TEXT = (Fl_Align)0x0100;
   /** If the label contains an image, draw the text to the left of the image. */
-const Fl_Align FL_ALIGN_TEXT_NEXT_TO_IMAGE = (Fl_Align)0x0100;
-  /** If the label contains an image, draw the text to the right of the image. */
-const Fl_Align FL_ALIGN_IMAGE_NEXT_TO_TEXT = (Fl_Align)0x0110;
+const Fl_Align FL_ALIGN_TEXT_NEXT_TO_IMAGE = (Fl_Align)0x0120;
 /** If the label contains an image, draw the image or deimage in the backgroup. */
 const Fl_Align FL_ALIGN_IMAGE_BACKDROP  = (Fl_Align)0x0200;
 const Fl_Align FL_ALIGN_TOP_LEFT	= FL_ALIGN_TOP | FL_ALIGN_LEFT;
@@ -680,6 +680,8 @@
 const Fl_Align FL_ALIGN_LEFT_BOTTOM	= 0x000d; // magic value
 const Fl_Align FL_ALIGN_RIGHT_BOTTOM	= 0x000e; // magic value
 const Fl_Align FL_ALIGN_NOWRAP		= (Fl_Align)0; // for back compatability
+const Fl_Align FL_ALIGN_POSITION_MASK   = 0x000f; // left, right, top, bottom
+const Fl_Align FL_ALIGN_IMAGE_MASK      = 0x0320; // l/r, t/b, backdrop
 /*@}*/
 
 

Modified: branches/branch-1.3/fluid/Fl_Widget_Type.cxx
===================================================================
--- branches/branch-1.3/fluid/Fl_Widget_Type.cxx	2010-04-09 17:01:58 UTC (rev 7475)
+++ branches/branch-1.3/fluid/Fl_Widget_Type.cxx	2010-04-09 22:18:05 UTC (rev 7476)
@@ -1170,6 +1170,37 @@
   }
 }
 
+void align_text_image_cb(Fl_Menu_Button* i, void *v) {
+  if (v == LOAD) {
+    if (current_widget->is_menu_item()) {i->deactivate(); return;} else i->activate();
+    Fl_Menu_Item *mi = (Fl_Menu_Item*)i->menu();
+    Fl_Align b = current_widget->o->align() & FL_ALIGN_IMAGE_MASK;
+    for (;mi->text;mi++) {
+      if (mi->argument()==b)
+        mi->set();
+      else 
+        mi->clear();
+    }
+  } else {
+    const Fl_Menu_Item *mi = i->mvalue();
+    Fl_Align b = Fl_Align(long(mi->user_data()));
+    int mod = 0;
+    for (Fl_Type *o = Fl_Type::first; o; o = o->next) {
+      if (o->selected && o->is_widget()) {
+	Fl_Widget_Type* q = (Fl_Widget_Type*)o;
+	Fl_Align x = q->o->align();
+	Fl_Align y = (x & ~FL_ALIGN_IMAGE_MASK) | b;
+	if (x != y) {
+          q->o->align(y);
+	  q->redraw();
+	  mod = 1;
+	}
+      }
+    }
+    if (mod) set_modflag(1);
+  }
+}
+
 ////////////////////////////////////////////////////////////////
 
 void callback_cb(CodeEditor* i, void *v) {

Modified: branches/branch-1.3/fluid/widget_panel.cxx
===================================================================
--- branches/branch-1.3/fluid/widget_panel.cxx	2010-04-09 17:01:58 UTC (rev 7475)
+++ branches/branch-1.3/fluid/widget_panel.cxx	2010-04-09 22:18:05 UTC (rev 7476)
@@ -33,6 +33,15 @@
   propagate_load((Fl_Group *)o,v);
 }
 
+Fl_Menu_Item menu_Text[] = {
+ {"image over text", 0,  0, (void*)(FL_ALIGN_IMAGE_OVER_TEXT), 8, FL_NORMAL_LABEL, 0, 11, 0},
+ {"text over image", 0,  0, (void*)(FL_ALIGN_TEXT_OVER_IMAGE), 8, FL_NORMAL_LABEL, 0, 11, 0},
+ {"text next to image", 0,  0, (void*)(FL_ALIGN_TEXT_NEXT_TO_IMAGE), 8, FL_NORMAL_LABEL, 0, 11, 0},
+ {"image next to text", 0,  0, (void*)(FL_ALIGN_IMAGE_NEXT_TO_TEXT), 8, FL_NORMAL_LABEL, 0, 11, 0},
+ {"image is backdrop", 0,  0, (void*)(FL_ALIGN_IMAGE_BACKDROP), 8, FL_NORMAL_LABEL, 0, 11, 0},
+ {0,0,0,0,0,0,0,0,0}
+};
+
 Fl_Value_Input *widget_x_input=(Fl_Value_Input *)0;
 
 Fl_Value_Input *widget_y_input=(Fl_Value_Input *)0;
@@ -63,7 +72,7 @@
   { Fl_Double_Window* o = new Fl_Double_Window(420, 360);
     w = o;
     o->labelsize(11);
-    o->align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE);
+    o->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
     o->hotspot(o);
     { Fl_Tabs* o = new Fl_Tabs(10, 10, 400, 310);
       o->selection_color((Fl_Color)12);
@@ -75,12 +84,11 @@
         o->labelsize(11);
         o->callback((Fl_Callback*)propagate_load);
         o->when(FL_WHEN_NEVER);
-        o->hide();
         { Fl_Group* o = new Fl_Group(95, 40, 309, 20, "Label:");
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 40, 190, 20);
             o->tooltip("The label text for the widget.\nUse Ctrl-J for newlines.");
             o->labelfont(1);
@@ -106,7 +114,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 65, 240, 20);
             o->tooltip("The active image for the widget.");
             o->labelfont(1);
@@ -126,7 +134,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 90, 240, 20);
             o->tooltip("The inactive image for the widget.");
             o->labelfont(1);
@@ -146,29 +154,28 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
-          { Fl_Button* o = new Fl_Button(95, 115, 45, 20, "Clip");
+          o->align(Fl_Align(FL_ALIGN_LEFT));
+          { Fl_Button* o = new Fl_Button(95, 115, 40, 20, "Clip");
             o->tooltip("Clip the label to the inside of the widget.");
             o->type(1);
             o->selection_color(FL_INACTIVE_COLOR);
             o->labelsize(11);
             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_CLIP));
-            o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
+            o->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
           } // Fl_Button* o
-          { Fl_Button* o = new Fl_Button(145, 115, 50, 20, "Wrap");
+          { Fl_Button* o = new Fl_Button(140, 115, 40, 20, "Wrap");
             o->tooltip("Wrap the label text.");
             o->type(1);
             o->selection_color(FL_INACTIVE_COLOR);
             o->labelsize(11);
             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_WRAP));
           } // Fl_Button* o
-          { Fl_Button* o = new Fl_Button(200, 115, 65, 20, "Text/Image");
-            o->tooltip("Show the label text over the image.");
-            o->type(1);
-            o->selection_color(FL_INACTIVE_COLOR);
+          { Fl_Menu_Button* o = new Fl_Menu_Button(185, 115, 80, 20, "Text/Image");
             o->labelsize(11);
-            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TEXT_OVER_IMAGE));
-          } // Fl_Button* o
+            o->callback((Fl_Callback*)align_text_image_cb);
+            o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
+            o->menu(menu_Text);
+          } // Fl_Menu_Button* o
           { Fl_Button* o = new Fl_Button(270, 115, 20, 20, "@-1<-");
             o->tooltip("Left-align the label.");
             o->type(1);
@@ -219,7 +226,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { widget_x_input = new Fl_Value_Input(95, 150, 55, 20, "X:");
             widget_x_input->tooltip("The X position of the widget.");
             widget_x_input->labelsize(11);
@@ -227,7 +234,7 @@
             widget_x_input->step(1);
             widget_x_input->textsize(11);
             widget_x_input->callback((Fl_Callback*)x_cb);
-            widget_x_input->align(FL_ALIGN_TOP_LEFT);
+            widget_x_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* widget_x_input
           { widget_y_input = new Fl_Value_Input(155, 150, 55, 20, "Y:");
             widget_y_input->tooltip("The Y position of the widget.");
@@ -236,7 +243,7 @@
             widget_y_input->step(1);
             widget_y_input->textsize(11);
             widget_y_input->callback((Fl_Callback*)y_cb);
-            widget_y_input->align(FL_ALIGN_TOP_LEFT);
+            widget_y_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* widget_y_input
           { widget_w_input = new Fl_Value_Input(215, 150, 55, 20, "Width:");
             widget_w_input->tooltip("The width of the widget.");
@@ -245,7 +252,7 @@
             widget_w_input->step(1);
             widget_w_input->textsize(11);
             widget_w_input->callback((Fl_Callback*)w_cb);
-            widget_w_input->align(FL_ALIGN_TOP_LEFT);
+            widget_w_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* widget_w_input
           { widget_h_input = new Fl_Value_Input(275, 150, 55, 20, "Height:");
             widget_h_input->tooltip("The height of the widget.");
@@ -254,7 +261,7 @@
             widget_h_input->step(1);
             widget_h_input->textsize(11);
             widget_h_input->callback((Fl_Callback*)h_cb);
-            widget_h_input->align(FL_ALIGN_TOP_LEFT);
+            widget_h_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* widget_h_input
           { Fl_Light_Button* o = new Fl_Light_Button(335, 150, 55, 20, "Relative");
             o->tooltip("If set, widgets inside a widget class of type Fl_Group are repositioned relat\
@@ -271,21 +278,21 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Size:");
             o->tooltip("The size of the slider.");
             o->labelsize(11);
             o->step(0.010101);
             o->textsize(11);
             o->callback((Fl_Callback*)slider_size_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20, "Minimum:");
             o->tooltip("The minimum value of the widget.");
             o->labelsize(11);
             o->textsize(11);
             o->callback((Fl_Callback*)min_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Value_Input* o = new Fl_Value_Input(215, 185, 55, 20, "Maximum:");
             o->tooltip("The maximum value of the widget.");
@@ -293,21 +300,21 @@
             o->value(1);
             o->textsize(11);
             o->callback((Fl_Callback*)max_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Value_Input* o = new Fl_Value_Input(275, 185, 55, 20, "Step:");
             o->tooltip("The resolution of the widget value.");
             o->labelsize(11);
             o->textsize(11);
             o->callback((Fl_Callback*)step_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Value_Input* o = new Fl_Value_Input(335, 185, 55, 20, "Value:");
             o->tooltip("The current widget value.");
             o->labelsize(11);
             o->textsize(11);
             o->callback((Fl_Callback*)value_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Box* o = new Fl_Box(395, 185, 0, 20);
             Fl_Group::current()->resizable(o);
@@ -318,7 +325,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           o->hide();
           { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Minimum Size:");
             o->tooltip("The size of the slider.");
@@ -327,7 +334,7 @@
             o->step(1);
             o->textsize(11);
             o->callback((Fl_Callback*)min_w_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20);
             o->tooltip("The minimum value of the widget.");
@@ -336,7 +343,7 @@
             o->step(1);
             o->textsize(11);
             o->callback((Fl_Callback*)min_h_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Button* o = new Fl_Button(215, 185, 25, 20, "set");
             o->labelsize(11);
@@ -349,7 +356,7 @@
             o->step(1);
             o->textsize(11);
             o->callback((Fl_Callback*)max_w_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Value_Input* o = new Fl_Value_Input(305, 185, 55, 20);
             o->tooltip("The resolution of the widget value.");
@@ -358,7 +365,7 @@
             o->step(1);
             o->textsize(11);
             o->callback((Fl_Callback*)max_h_cb);
-            o->align(FL_ALIGN_TOP_LEFT);
+            o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
           } // Fl_Value_Input* o
           { Fl_Button* o = new Fl_Button(365, 185, 25, 20, "set");
             o->labelsize(11);
@@ -379,14 +386,14 @@
           o->labelsize(11);
           o->labelcolor(FL_FOREGROUND_COLOR);
           o->callback((Fl_Callback*)shortcut_in_cb);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           o->when(FL_WHEN_RELEASE);
         } // Shortcut_Button* o
         { Fl_Group* o = new Fl_Group(95, 235, 300, 20, "X Class:");
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 235, 95, 20, ":");
             o->tooltip("The X resource class.");
             o->labelfont(1);
@@ -412,7 +419,7 @@
             o->selection_color((Fl_Color)1);
             o->labelsize(11);
             o->callback((Fl_Callback*)non_modal_cb);
-            o->align(132|FL_ALIGN_INSIDE);
+            o->align(Fl_Align(132|FL_ALIGN_INSIDE));
           } // Fl_Light_Button* o
           o->end();
         } // Fl_Group* o
@@ -420,7 +427,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Light_Button* o = new Fl_Light_Button(95, 260, 60, 20, "Visible");
             o->tooltip("Show the widget.");
             o->selection_color((Fl_Color)1);
@@ -476,7 +483,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Choice* o = new Fl_Choice(95, 40, 170, 20);
             o->tooltip("The style of the label text.");
             o->box(FL_THIN_UP_BOX);
@@ -508,7 +515,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Choice* o = new Fl_Choice(95, 65, 219, 20);
             o->tooltip("The \"up\" box of the widget.");
             o->box(FL_THIN_UP_BOX);
@@ -531,7 +538,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Choice* o = new Fl_Choice(95, 90, 219, 20);
             o->tooltip("The \"down\" box of the widget.");
             o->box(FL_THIN_UP_BOX);
@@ -554,7 +561,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Choice* o = new Fl_Choice(95, 115, 170, 20);
             o->tooltip("The value text style.");
             o->box(FL_DOWN_BOX);
@@ -592,11 +599,12 @@
         o->labelsize(11);
         o->callback((Fl_Callback*)propagate_load);
         o->when(FL_WHEN_NEVER);
+        o->hide();
         { Fl_Group* o = new Fl_Group(95, 40, 310, 20, "Class:");
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 40, 172, 20);
             o->tooltip("The widget subclass.");
             o->labelfont(1);
@@ -620,7 +628,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 65, 235, 20);
             o->tooltip("The name of the widget.");
             o->labelfont(1);
@@ -691,7 +699,7 @@
           o->textfont(4);
           o->textsize(11);
           o->callback((Fl_Callback*)callback_cb);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           o->when(FL_WHEN_RELEASE);
           Fl_Group::current()->resizable(o);
         } // CodeEditor* o
@@ -699,7 +707,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 270, 158, 20);
             o->tooltip("The user data to pass into the callback code.");
             o->labelfont(1);
@@ -726,7 +734,7 @@
           o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          o->align(FL_ALIGN_LEFT);
+          o->align(Fl_Align(FL_ALIGN_LEFT));
           { Fl_Input* o = new Fl_Input(95, 295, 158, 20);
             o->tooltip("The type of the user data.");
             o->labelfont(1);

Modified: branches/branch-1.3/fluid/widget_panel.fl
===================================================================
--- branches/branch-1.3/fluid/widget_panel.fl	2010-04-09 17:01:58 UTC (rev 7475)
+++ branches/branch-1.3/fluid/widget_panel.fl	2010-04-09 22:18:05 UTC (rev 7476)
@@ -1,5 +1,5 @@
 # data file for the Fltk User Interface Designer (fluid)
-version 1.0108 
+version 1.0300 
 header_name {.h} 
 code_name {.cxx}
 comment {//
@@ -43,12 +43,12 @@
     } {
       Fl_Group {} {
         label GUI
-        callback propagate_load
-        xywh {10 30 400 290} labelsize 11 when 0 hide resizable
+        callback propagate_load open
+        xywh {10 30 400 290} labelsize 11 when 0 resizable
       } {
         Fl_Group {} {
           label {Label:}
-          callback propagate_load
+          callback propagate_load open
           xywh {95 40 309 20} labelfont 1 labelsize 11 align 4
         } {
           Fl_Input {} {
@@ -95,26 +95,51 @@
         }
         Fl_Group {} {
           label {Alignment:}
-          callback propagate_load
+          callback propagate_load open
           xywh {95 115 300 20} labelfont 1 labelsize 11 align 4
         } {
           Fl_Button {} {
             label Clip
             user_data FL_ALIGN_CLIP
             callback align_cb
-            tooltip {Clip the label to the inside of the widget.} xywh {95 115 45 20} type Toggle selection_color 8 labelsize 11 align 16
+            tooltip {Clip the label to the inside of the widget.} xywh {95 115 40 20} type Toggle selection_color 8 labelsize 11 align 16
           }
           Fl_Button {} {
             label Wrap
             user_data FL_ALIGN_WRAP
             callback align_cb
-            tooltip {Wrap the label text.} xywh {145 115 50 20} type Toggle selection_color 8 labelsize 11
+            tooltip {Wrap the label text.} xywh {140 115 40 20} type Toggle selection_color 8 labelsize 11
           }
-          Fl_Button {} {
+          Fl_Menu_Button {} {
             label {Text/Image}
-            user_data FL_ALIGN_TEXT_OVER_IMAGE
-            callback align_cb
-            tooltip {Show the label text over the image.} xywh {200 115 65 20} type Toggle selection_color 8 labelsize 11
+            callback align_text_image_cb open
+            xywh {185 115 80 20} labelsize 11 align 20
+          } {
+            MenuItem {} {
+              label {image over text}
+              user_data FL_ALIGN_IMAGE_OVER_TEXT
+              xywh {10 10 100 20} type Radio labelsize 11
+            }
+            MenuItem {} {
+              label {text over image}
+              user_data FL_ALIGN_TEXT_OVER_IMAGE selected
+              xywh {0 0 100 20} type Radio labelsize 11
+            }
+            MenuItem {} {
+              label {text next to image}
+              user_data FL_ALIGN_TEXT_NEXT_TO_IMAGE
+              xywh {20 20 100 20} type Radio labelsize 11
+            }
+            MenuItem {} {
+              label {image next to text}
+              user_data FL_ALIGN_IMAGE_NEXT_TO_TEXT
+              xywh {30 30 100 20} type Radio labelsize 11
+            }
+            MenuItem {} {
+              label {image is backdrop}
+              user_data FL_ALIGN_IMAGE_BACKDROP
+              xywh {40 40 100 20} type Radio labelsize 11
+            }
           }
           Fl_Button {} {
             label {@-1<-}
@@ -415,7 +440,7 @@
       Fl_Group {} {
         label {C++}
         callback propagate_load open
-        xywh {10 30 400 290} labelsize 11 when 0
+        xywh {10 30 400 290} labelsize 11 when 0 hide
       } {
         Fl_Group {} {
           label {Class:}
@@ -438,7 +463,7 @@
           xywh {95 65 310 20} labelfont 1 labelsize 11 align 4
         } {
           Fl_Input {} {
-            callback name_cb selected
+            callback name_cb
             tooltip {The name of the widget.} xywh {95 65 235 20} labelfont 1 labelsize 11 textsize 11 resizable
           }
           Fl_Choice {} {

Modified: branches/branch-1.3/fluid/widget_panel.h
===================================================================
--- branches/branch-1.3/fluid/widget_panel.h	2010-04-09 17:01:58 UTC (rev 7475)
+++ branches/branch-1.3/fluid/widget_panel.h	2010-04-09 22:18:05 UTC (rev 7476)
@@ -45,6 +45,8 @@
 extern void inactive_cb(Fl_Input*, void*);
 extern void inactive_browse_cb(Fl_Button*, void*);
 extern void align_cb(Fl_Button*, void*);
+#include <FL/Fl_Menu_Button.H>
+extern void align_text_image_cb(Fl_Menu_Button*, void*);
 #include <FL/Fl_Box.H>
 #include <FL/Fl_Value_Input.H>
 extern void x_cb(Fl_Value_Input*, void*);
@@ -113,6 +115,7 @@
 extern void live_mode_cb(Fl_Button*, void*);
 extern Fl_Button *wLiveMode;
 Fl_Double_Window* make_widget_panel();
+extern Fl_Menu_Item menu_Text[];
 extern Fl_Menu_Item menu_[];
 extern Fl_Menu_Item menu_1[];
 #endif

Modified: branches/branch-1.3/src/Fl_Button.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Button.cxx	2010-04-09 17:01:58 UTC (rev 7475)
+++ branches/branch-1.3/src/Fl_Button.cxx	2010-04-09 22:18:05 UTC (rev 7476)
@@ -72,6 +72,7 @@
   if (type() == FL_HIDDEN_BUTTON) return;
   Fl_Color col = value() ? selection_color() : color();
   draw_box(value() ? (down_box()?down_box():fl_down(box())) : box(), col);
+  draw_backdrop();
   if (labeltype() == FL_NORMAL_LABEL && value()) {
     Fl_Color c = labelcolor();
     labelcolor(fl_contrast(c, col));

Modified: branches/branch-1.3/src/fl_draw.cxx
===================================================================
--- branches/branch-1.3/src/fl_draw.cxx	2010-04-09 17:01:58 UTC (rev 7475)
+++ branches/branch-1.3/src/fl_draw.cxx	2010-04-09 22:18:05 UTC (rev 7476)
@@ -253,7 +253,7 @@
   int xpos;
   int ypos;
   int height = fl_height();
-  int imgvert = ((align&FL_ALIGN_TEXT_NEXT_TO_IMAGE)==0);
+  int imgvert = ((align&FL_ALIGN_IMAGE_NEXT_TO_TEXT)==0);
   int imgh = img && imgvert ? img->h() : 0;
   int imgw[2] = {0, 0};
 

Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.