Re: ComboBox(), again!



On Tue, 2008-03-04 at 10:41 -0500, Jamiil Abduqadir wrote:
> It has been my intention to create a class that will simplify the
> inclusion of combo widgets in my programs, the class derives from
> 'Gtk::VBox' and then add to it a 'Gtk::ComboBoxEntryText', like this:
> 
> ------ HPP FILE
> // ALL THE INCLUDES ARE HERE //
> namespace jme{
> class Combo : virtual public Gtk::VBox{
> private:
>     virtual void Init();
>     void Pack();
>     Glib::ustring str;
>     Gtk::Label* label;
>     Gtk::ComboBoxEntryText* text_box;
> 
> public:
> //!Constructor
>     Combo(Glib::ustring&);
> //!Destructor
>     virtual ~Combo();
> };// Class
> }// Namespace
> #endif
> ----- CPP FILE
> void jme::Combo::Init() {
>     // Instantiate object widgets
>     label     = Gtk::manage(new Gtk::Label(str.data(),
> Gtk::ALIGN_LEFT ));
>     if(label == NULL) {
>         DO SOMETHING
>     }
>     text_box  = Gtk::manage(new Gtk::ComboBoxEntryText());
>     if(text_box == NULL) {
>         DO SOMETHING
>     }
>     this->pack_start(*label);
>     this->pack_start(*text_box);
> 
> }
> jme::Combo::Combo(Glib:
> :ustring& s) {
>      ...
>     str = s;
>     this->Init();
>    ...
> }
> jme::Combo::~Combo() { }
> 
> 
> Later on another class I declare my hand dandy class (jme::Combo*
> entryboxFirstName;)   , then I  instantiate it like this
> 'entryboxFirstName  = Gtk::manage(new jme::Combo("sometext"));' to add
> it to a 'Gtk::Frame' (someFrame->pack_start(*entryboxFirstName);
> 
> This works just fine, however, the size of the combo box is too high,
> high enough to fit two lines of text. Is this a normal behaviour in
> GTKmm?
> 
> Please advice, thanks in advance.
> 
Look at the optional arguments for pack_start()

-- 
Jonner



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]