X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbclistbox.h;h=6bdd2c041a35e0d202310a27b9c199d3bc7e864d;hp=b0e9c3e22b70a6d6ffef79870ec79670a4408d48;hb=a19a685a46ddc630010788707d9e5b9d2342af46;hpb=bd40a11178ed791d8c163877d3c28e5045148c62 diff --git a/cinelerra-5.1/guicast/bclistbox.h b/cinelerra-5.1/guicast/bclistbox.h index b0e9c3e2..6bdd2c04 100644 --- a/cinelerra-5.1/guicast/bclistbox.h +++ b/cinelerra-5.1/guicast/bclistbox.h @@ -123,6 +123,8 @@ public: virtual int sort_order_event() { return 0; }; // Column moved virtual int move_column_event() { return 0; }; +// item highlight changed + virtual int mouse_over_event(int no) { return 0; } int enable(); int disable(); @@ -189,6 +191,12 @@ public: int activate(int x, int y, int w=-1, int h=-1); int deactivate(); int is_active(); + int expander_active(); + +// get item no at current cursor position + int get_cursor_item_no(); +// get top data item no, and item at current cursor position + int get_cursor_data_item_no(BC_ListBoxItem **item_return=0); int translation_event(); int repeat_event(int64_t duration); @@ -316,6 +324,12 @@ public: int indent /* = 0 */, int master_column); + int get_icon_x(BC_ListBoxItem *item); + int get_icon_y(BC_ListBoxItem *item); + int get_icon_w(BC_ListBoxItem *item); + int get_icon_h(BC_ListBoxItem *item); + int get_text_w(BC_ListBoxItem *item); + int get_text_h(BC_ListBoxItem *item); int get_item_x(BC_ListBoxItem *item); int get_item_y(BC_ListBoxItem *item); int get_item_w(BC_ListBoxItem *item); @@ -323,6 +337,7 @@ public: // Draw the list items int draw_items(int flash, int bg_draw=0); + int is_highlighted(); private: void delete_columns(); @@ -403,10 +418,6 @@ private: int get_items_height(ArrayList *data, int columns, int *result = 0); - int get_icon_w(BC_ListBoxItem *item); - int get_icon_h(BC_ListBoxItem *item); - int get_text_w(BC_ListBoxItem *item); - int get_text_h(BC_ListBoxItem *item); int get_baseline(BC_ListBoxItem *item); int get_item_highlight(ArrayList *data, int column, int item); int get_item_color(ArrayList *data, int column, int item); @@ -434,7 +445,8 @@ private: // Points *item_return to the first item in the row or 0 if no item was found. // if it's nonzero. Returns -1 if no item was found. Clamps the y coordinate // only if the current operation is not SELECT, so scrolling is possible. -// expanded - 1 if items in this table should be tested for cursor coverage +// expanded = 1 if items in this table should be tested for cursor coverage +// expanded = -1 returns only the top level master column index/item int get_cursor_item(ArrayList *data, int cursor_x, int cursor_y,