Made menu items relevant to the application, Fixed a bug where menu items were drawn even when the non intented trigger was pressed
This commit is contained in:
@@ -110,12 +110,14 @@ class MenuBar {
|
|||||||
{
|
{
|
||||||
wattroff(win, A_STANDOUT);
|
wattroff(win, A_STANDOUT);
|
||||||
}
|
}
|
||||||
|
if(!is_selected)
|
||||||
|
return;
|
||||||
wrefresh(win);
|
wrefresh(win);
|
||||||
|
|
||||||
char ch;
|
char ch;
|
||||||
drawMenuItems(menu);
|
drawMenuItems(menu);
|
||||||
wrefresh(menuwin);
|
wrefresh(menuwin);
|
||||||
while(is_selected && (ch = wgetch(menuwin)))
|
while((ch = wgetch(menuwin)))
|
||||||
{
|
{
|
||||||
switch(ch)
|
switch(ch)
|
||||||
{
|
{
|
||||||
@@ -126,13 +128,14 @@ class MenuBar {
|
|||||||
menu.selectPrevItem();
|
menu.selectPrevItem();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
is_selected = false;
|
werase(menuwin);
|
||||||
|
wrefresh(menuwin);
|
||||||
|
reset();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
drawMenuItems(menu);
|
drawMenuItems(menu);
|
||||||
|
wrefresh(menuwin);
|
||||||
}
|
}
|
||||||
werase(menuwin);
|
|
||||||
wrefresh(menuwin);
|
|
||||||
reset();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawMenuItems(Menu menu)
|
void drawMenuItems(Menu menu)
|
||||||
|
|||||||
@@ -23,17 +23,15 @@ int main(int argc, char **argv){
|
|||||||
WINDOW *win = newwin(yMax-1,xMax-1,1,1);
|
WINDOW *win = newwin(yMax-1,xMax-1,1,1);
|
||||||
box(win,0,0);
|
box(win,0,0);
|
||||||
|
|
||||||
string menu1[] = {"New","Open","Save","Exit"};
|
string menu1[] = {"Connect","Disconnect","Exit"};
|
||||||
string menu2[] = {"Copy","Cut","Paste"};
|
string menu3[] = {"Info","Machines","Log"};
|
||||||
string menu3[] = {"Sidebar","Terminal"};
|
|
||||||
|
|
||||||
Menu menus[3] = {
|
Menu menus[2] = {
|
||||||
Menu("File",'f',menu1,4),
|
Menu("File",'f',menu1,3),
|
||||||
Menu("Edit",'e',menu2,3),
|
Menu("View",'v',menu3,3),
|
||||||
Menu("View",'v',menu3,2),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
MenuBar menubar = MenuBar(win,menus,3);
|
MenuBar menubar = MenuBar(win,menus,2);
|
||||||
menubar.draw();
|
menubar.draw();
|
||||||
|
|
||||||
keypad(win, TRUE);
|
keypad(win, TRUE);
|
||||||
@@ -61,5 +59,3 @@ int main(int argc, char **argv){
|
|||||||
endwin();
|
endwin();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user