diff options
Diffstat (limited to '')
-rw-r--r-- | src/filemanager/layout.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/filemanager/layout.h b/src/filemanager/layout.h new file mode 100644 index 0000000..2566cfa --- /dev/null +++ b/src/filemanager/layout.h @@ -0,0 +1,98 @@ +/** \file layout.h + * \brief Header: panel layout module + */ + +#ifndef MC__LAYOUT_H +#define MC__LAYOUT_H + +#include "lib/global.h" +#include "lib/widget.h" + +#include "panel.h" + +/*** typedefs(not structures) and defined constants **********************************************/ + +typedef enum +{ + view_listing = 0, /* Directory listing */ + view_info = 1, /* Information panel */ + view_tree = 2, /* Tree view */ + view_quick = 3, /* Quick view */ + view_nothing = 4, /* Undefined */ +} panel_view_mode_t; + +/*** enums ***************************************************************************************/ + +/*** structures declarations (and typedefs of structures)*****************************************/ + +typedef struct +{ + gboolean horizontal_split; + + /* vertical split */ + gboolean vertical_equal; + int left_panel_size; + + /* horizontal split */ + gboolean horizontal_equal; + int top_panel_size; +} panels_layout_t; + +/*** global variables defined in .c file *********************************************************/ + +extern int output_lines; +extern gboolean command_prompt; +extern gboolean menubar_visible; +extern int output_start_y; +extern gboolean xterm_title; +extern gboolean free_space; +extern gboolean nice_rotating_dash; + +extern int ok_to_refresh; + +extern panels_layout_t panels_layout; + +/*** declarations of public functions ************************************************************/ +void layout_change (void); +void layout_box (void); +void panel_update_cols (Widget * widget, panel_display_t frame_size); +void setup_panels (void); +void panels_split_equal (void); +void panels_split_more (void); +void panels_split_less (void); +void destroy_panels (void); +void setup_cmdline (void); +void create_panel (int num, panel_view_mode_t type); +void swap_panels (void); +panel_view_mode_t get_panel_type (int idx); +panel_view_mode_t get_current_type (void); +panel_view_mode_t get_other_type (void); +int get_current_index (void); +int get_other_index (void); +const char *get_nth_panel_name (int num); + +Widget *get_panel_widget (int idx); + +WPanel *get_other_panel (void); + +void save_panel_dir (int idx); +char *get_panel_dir_for (const WPanel * widget); + +void set_hintbar (const char *str); + +/* Rotating dash routines */ +void use_dash (gboolean flag); /* Disable/Enable rotate_dash routines */ +void rotate_dash (gboolean show); + +#ifdef ENABLE_SUBSHELL +gboolean do_load_prompt (void); +int load_prompt (int fd, void *unused); +#endif + +void update_xterm_title_path (void); + +void title_path_prepare (char **path, char **login); + +/*** inline functions ****************************************************************************/ + +#endif /* MC__LAYOUT_H */ |