25 #define YUILogComponent "ncurses"
26 #include <yui/YUILog.h>
28 #include "NCMenuButton.h"
29 #include "NCPopupMenu.h"
30 #include "YNCursesUI.h"
33 NCMenuButton::NCMenuButton( YWidget * parent,
35 : YMenuButton( parent, nlabel )
44 NCMenuButton::~NCMenuButton()
50 int NCMenuButton::preferredWidth()
52 return wGetDefsze().W;
56 int NCMenuButton::preferredHeight()
58 return wGetDefsze().H;
65 YMenuButton::setEnabled( do_bv );
69 void NCMenuButton::setSize(
int newwidth,
int newheight )
71 wRelocate(
wpos( 0 ),
wsze( newheight, newwidth ) );
93 void NCMenuButton::setLabel(
const std::string & nlabel )
97 defsze =
wsze( label.height(), label.width() + 3 );
98 YMenuButton::setLabel( nlabel );
103 void NCMenuButton::wRedraw()
112 if ( label.height() > 1 )
132 void NCMenuButton::rebuildMenuTree()
142 wpos at( ScreenPos() +
wpos( 1, 0 ) );
147 YUI_CHECK_NEW( dialog );
150 dialog->post( &event );
152 YDialog::deleteTopmostDialog();
156 if ( event == NCursesEvent::button )
158 newEvent = NCursesEvent::menu;
159 newEvent.selection =
event.selection;
170 event.selection = item;