add binfolder path relative filters, fix gbrp color model, vwdw timebar tweaks, title...
[goodguy/history.git] / cinelerra-5.1 / guicast / bclistbox.h
index 5ea18865e6679f41e05d261f9fa1d3364265eda6..ce867ef88ecc196efd0dfd3b6d9f2c79a881a11f 100644 (file)
@@ -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();
@@ -199,7 +199,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<BC_ListBoxItem*> *data,
@@ -316,6 +318,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 +331,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 +413,6 @@ private:
        int get_items_height(ArrayList<BC_ListBoxItem*> *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<BC_ListBoxItem*> *data, int column, int item);
        int get_item_color(ArrayList<BC_ListBoxItem*> *data, int column, int item);
@@ -507,7 +513,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 +594,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;