projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
color coded keyframe curves, keyframe popups, cwin scrollbar fixes
[goodguy/history.git]
/
cinelerra-5.1
/
guicast
/
bcmenupopup.C
diff --git
a/cinelerra-5.1/guicast/bcmenupopup.C
b/cinelerra-5.1/guicast/bcmenupopup.C
index 0d418cb8c4f442b3657d55eea63fb4a87cb42b38..1888e6cfdf514dfe9562bb0c5358dea8cd9a0917 100644
(file)
--- a/
cinelerra-5.1/guicast/bcmenupopup.C
+++ b/
cinelerra-5.1/guicast/bcmenupopup.C
@@
-112,7
+112,13
@@
int BC_MenuPopup::add_item(BC_MenuItem *item)
return 0;
}
return 0;
}
-int BC_MenuPopup::remove_item(BC_MenuItem *item, int recursive)
+int BC_MenuPopup::remove_item(BC_MenuItem *item)
+{
+ menu_items.remove(item);
+ return 0;
+}
+
+int BC_MenuPopup::del_item(BC_MenuItem *item)
{
if(!item && menu_items.size() > 0)
{
{
if(!item && menu_items.size() > 0)
{
@@
-121,16
+127,21
@@
int BC_MenuPopup::remove_item(BC_MenuItem *item, int recursive)
if(item)
{
if(item)
{
-
menu_items.remove
(item);
+
remove_item
(item);
item->menu_popup = 0;
item->menu_popup = 0;
-
if(!recursive)
delete item;
+ delete item;
}
return 0;
}
}
return 0;
}
-int BC_MenuPopup::total_menuitems()
+BC_MenuItem *BC_MenuPopup::get_item(int i)
+{
+ return menu_items[i];
+}
+
+int BC_MenuPopup::total_items()
{
{
- return menu_items.
total
;
+ return menu_items.
size()
;
}
int BC_MenuPopup::dispatch_button_press()
}
int BC_MenuPopup::dispatch_button_press()
@@
-138,7
+149,7
@@
int BC_MenuPopup::dispatch_button_press()
int result = 0;
if(popup)
{
int result = 0;
if(popup)
{
- for(int i = 0; i < menu_items.total && !result; i++)
+ for(int i = 0; i < menu_items.total && !result
&& popup
; i++)
{
result = menu_items.values[i]->dispatch_button_press();
}
{
result = menu_items.values[i]->dispatch_button_press();
}
@@
-152,7
+163,7
@@
int BC_MenuPopup::dispatch_button_release()
int result = 0, redraw = 0;
if(popup)
{
int result = 0, redraw = 0;
if(popup)
{
- for(int i = 0; i < menu_items.total && !result; i++)
+ for(int i = 0; i < menu_items.total && !result
&& popup
; i++)
{
result = menu_items.values[i]->dispatch_button_release(redraw);
}
{
result = menu_items.values[i]->dispatch_button_release(redraw);
}
@@
-417,12
+428,7
@@
BC_Popup* BC_MenuPopup::get_popup()
int BC_MenuPopup::cursor_inside()
{
int BC_MenuPopup::cursor_inside()
{
- if( !popup ) return 0;
- int x = popup->get_relative_cursor_x();
- if( x < 0 || x > popup->get_w() ) return 0;
- int y = popup->get_relative_cursor_y();
- if( y < 0 || y > popup->get_h() ) return 0;
- return 1;
+ return !popup || !popup->cursor_above() ? 0 : 1;
}
int BC_MenuPopup::get_w()
}
int BC_MenuPopup::get_w()