summaryrefslogtreecommitdiff
path: root/fluid/Fl_Type.h
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2005-07-08 14:12:00 +0000
committerMatthias Melcher <fltk@matthiasm.com>2005-07-08 14:12:00 +0000
commit8461a157e489601bdc2e0f83812708315c6dedc5 (patch)
tree340a4610dcdb48c89df93ac67730ec330538e34c /fluid/Fl_Type.h
parent9ac6934696fa366ec3f475549750efdd3c3a7154 (diff)
Added the first implementation of "live mode" to Fluid. This is incomplete and mostly untested, but it seems to be a great help to figure out the darned wonderful resize behavior. I apologize for typos, no time to compile on Linux. Please feed back.
More details in the developers mailing list. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4407 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid/Fl_Type.h')
-rw-r--r--fluid/Fl_Type.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/fluid/Fl_Type.h b/fluid/Fl_Type.h
index c34d34439..b26e713fd 100644
--- a/fluid/Fl_Type.h
+++ b/fluid/Fl_Type.h
@@ -115,6 +115,11 @@ public:
virtual void write_code1(); // code and .h before children
virtual void write_code2(); // code and .h after children
+ // live mode
+ virtual Fl_Widget *enter_live_mode(int top=0); // build wdgets needed for live mode
+ virtual void leave_live_mode(); // free allocated resources
+ virtual void copy_properties(); // copy properties from this type into a potetial live object
+
// get message number for I18N
int msgnum();
@@ -284,6 +289,7 @@ protected:
void write_block_close();
void write_code2();
void write_color(const char*, Fl_Color);
+ Fl_Widget *live_widget;
public:
static int default_size;
@@ -326,6 +332,10 @@ public:
virtual void read_property(const char *);
virtual int read_fdesign(const char*, const char*);
+ virtual Fl_Widget *enter_live_mode(int top=0);
+ virtual void leave_live_mode();
+ virtual void copy_properties();
+
virtual void ideal_size(int &w, int &h);
virtual void ideal_spacing(int &x, int &y);
@@ -373,6 +383,10 @@ public:
int is_parent() const {return 1;}
int is_group() const {return 1;}
int pixmapID() { return 6; }
+
+ virtual Fl_Widget *enter_live_mode(int top=0);
+ virtual void leave_live_mode();
+ virtual void copy_properties();
};
extern const char pack_type_name[];
@@ -384,6 +398,7 @@ public:
virtual const char *type_name() {return pack_type_name;}
Fl_Widget_Type *_make() {return new Fl_Pack_Type();}
int pixmapID() { return 22; }
+ void copy_properties();
};
extern const char tabs_type_name[];
@@ -403,6 +418,7 @@ public:
void add_child(Fl_Type*, Fl_Type*);
void remove_child(Fl_Type*);
int pixmapID() { return 13; }
+ Fl_Widget *enter_live_mode(int top=0);
};
extern const char scroll_type_name[];
@@ -488,6 +504,10 @@ public:
int is_parent() const {return 1;}
int is_group() const {return 1;}
int is_window() const {return 1;}
+
+ Fl_Widget *enter_live_mode(int top=0);
+ void leave_live_mode();
+ void copy_properties();
};
class Fl_Widget_Class_Type : private Fl_Window_Type {