/** \file layout.h * \brief Header: panel layout module */ #ifndef MC__LAYOUT_H #define MC__LAYOUT_H #include "lib/global.h" #include "lib/widget.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)*****************************************/ struct WPanel; typedef struct { int horizontal_split; /* vertical split */ int vertical_equal; int left_panel_size; /* horizontal split */ int horizontal_equal; int top_panel_size; } panels_layout_t; /*** global variables defined in .c file *********************************************************/ extern int output_lines; extern gboolean command_prompt; extern int menubar_visible; extern int output_start_y; extern gboolean xterm_title; extern int free_space; extern int nice_rotating_dash; extern panels_layout_t panels_layout; /*** declarations of public functions ************************************************************/ void layout_change (void); void layout_box (void); void setup_panels (void); void destroy_panels (void); void setup_cmdline (void); void set_display_type (int num, panel_view_mode_t type); void swap_panels (void); panel_view_mode_t get_display_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); struct Widget *get_panel_widget (int idx); struct WPanel *get_other_panel (void); void save_panel_dir (int idx); const char *get_panel_dir_for (const struct WPanel * widget); void set_hintbar (const char *str); /* Rotating dash routines */ void use_dash (gboolean flag); /* Disable/Enable rotate_dash routines */ void rotate_dash (void); /*** inline functions ****************************************************************************/ #endif /* MC__LAYOUT_H */