X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbclistbox.h;h=ba3819ae1b173bc9e0094bdb5bc9a205101bc0d0;hp=5ea18865e6679f41e05d261f9fa1d3364265eda6;hb=ae44cc4a24c9e04ee5e3b38baf6ce529832cfb39;hpb=3ac8199743f244669cc87ceef9c3cd23710552f3 diff --git a/cinelerra-5.1/guicast/bclistbox.h b/cinelerra-5.1/guicast/bclistbox.h index 5ea18865..ba3819ae 100644 --- a/cinelerra-5.1/guicast/bclistbox.h +++ b/cinelerra-5.1/guicast/bclistbox.h @@ -27,7 +27,7 @@ #include "bcscrollbar.h" #include "bcsubwindow.h" #include "bctoggle.h" -#include "colors.h" +#include "bccolors.h" #define BCPOPUPLISTBOX_W 25 #define BCPOPUPLISTBOX_H 25 @@ -106,8 +106,6 @@ public: int allow_drag = 0); // Allow user to drag icons around virtual ~BC_ListBox(); - friend class BC_ListBoxToggle; - int initialize(); // User event handler for new selections @@ -125,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(); @@ -191,6 +191,7 @@ public: int activate(int x, int y, int w=-1, int h=-1); int deactivate(); int is_active(); + int expander_active(); int translation_event(); int repeat_event(int64_t duration); @@ -199,7 +200,9 @@ public: // Must be called in the constructor. void set_use_button(int value); void set_is_suggestions(int value); - + void set_scroll_repeat(); + void unset_scroll_repeat(); + int scroll_repeat; // change the contents int update(ArrayList *data, @@ -316,6 +319,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 +332,8 @@ public: // Draw the list items int draw_items(int flash, int bg_draw=0); + int is_highlighted(); + int get_cursor_item(); private: void delete_columns(); @@ -403,10 +414,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); @@ -507,7 +514,7 @@ private: // Size of the popup if there is one char **column_titles; int *column_width; - int default_column_width[1]; + int default_column_width[32]; int columns; int master_column; int search_column; @@ -588,6 +595,7 @@ private: // More state variables int button_highlighted; int list_highlighted; + int packed_icons; // item cursor is over. May not exist in tables. // Must be an index since this is needed to change the database. int highlighted_item;