14 #ifndef T3_WIDGET_FILEPANE_H
15 #define T3_WIDGET_FILEPANE_H
19 #include <t3widget/dialogs/popup.h>
20 #include <t3widget/widgets/widget.h>
21 #include <t3widget/contentlist.h>
22 #include <t3widget/widgets/scrollbar.h>
23 #include <t3widget/widgets/textfield.h>
25 #define _T3_WDIGET_FP_MAX_COLUMNS 8
34 struct T3_WIDGET_LOCAL implementation_t {
41 int column_widths[_T3_WDIGET_FP_MAX_COLUMNS],
42 column_positions[_T3_WDIGET_FP_MAX_COLUMNS],
45 sigc::connection content_changed_connection;
46 cleanup_ptr<search_panel_t>::t search_panel;
48 implementation_t(
void) : scrollbar(
false), top_idx(0), current(0), file_list(NULL),
49 focus(
false), field(NULL), columns_visible(0), scrollbar_range(1)
52 pimpl_ptr<implementation_t>::t impl;
55 void ensure_cursor_on_screen(
void);
57 void draw_line(
int idx,
bool selected);
59 void update_column_width(
int column,
int start);
61 void update_column_widths(
void);
63 void content_changed(
void);
66 void scrollbar_dragged(
int start);
68 void search(
const std::string *text);
78 virtual bool process_key(
key_t key);
80 virtual void update_contents(
void);
81 virtual void set_focus(focus_t _focus);
93 void set_file(
const std::string *name);
95 T3_WIDGET_SIGNAL(activate,
void,
const std::string *);
101 cleanup_t3_window_ptr shadow_window;
107 virtual bool process_key(
key_t key);
110 virtual void update_contents(
void);
111 virtual void show(
void);
Definition: textline.h:36
Definition: textfield.h:27