cwidget
0.5.16
|
00001 // frame.h -*-c++-*- 00002 // 00003 // A container that draws a frame around the widget it contains. 00004 // (needs a lot more work to gracefully handle layout issues :) ) 00005 00006 #ifndef FRAME_H 00007 #define FRAME_H 00008 00009 #include "bin.h" 00010 00011 namespace cwidget 00012 { 00013 namespace widgets 00014 { 00015 class frame : public bin 00016 { 00017 void layout_me(); 00018 00019 protected: 00020 frame(const widget_ref &w); 00021 00022 public: 00023 static util::ref_ptr<frame> create(const widget_ref &w) 00024 { 00025 util::ref_ptr<frame> rval(new frame(w)); 00026 rval->decref(); 00027 return rval; 00028 } 00029 00033 int width_request(); 00034 00041 int height_request(int width); 00042 00043 virtual void paint(const style &st); 00044 }; 00045 00046 typedef util::ref_ptr<frame> frame_ref; 00047 } 00048 } 00049 00050 #endif