
Now each layout type has independent options. Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
85 строки
2.3 KiB
C
85 строки
2.3 KiB
C
/** \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 */
|