summaryrefslogtreecommitdiffstats
path: root/src/filemanager/layout.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/filemanager/layout.h98
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 */