Blame src/terminal-mdi-container.h

Packit d370c2
/*
Packit d370c2
 * Copyright © 2008, 2010, 2012 Christian Persch
Packit d370c2
 *
Packit d370c2
 * This program is free software: you can redistribute it and/or modify
Packit d370c2
 * it under the terms of the GNU General Public License as published by
Packit d370c2
 * the Free Software Foundation, either version 3 of the License, or
Packit d370c2
 * (at your option) any later version.
Packit d370c2
 *
Packit d370c2
 * This program is distributed in the hope that it will be useful,
Packit d370c2
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit d370c2
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit d370c2
 * GNU General Public License for more details.
Packit d370c2
 *
Packit d370c2
 * You should have received a copy of the GNU General Public License
Packit d370c2
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit d370c2
 */
Packit d370c2
Packit d370c2
#ifndef TERMINAL_MDI_CONTAINER_H
Packit d370c2
#define TERMINAL_MDI_CONTAINER_H
Packit d370c2
Packit d370c2
#include <gtk/gtk.h>
Packit d370c2
Packit d370c2
#include "terminal-screen.h"
Packit d370c2
Packit d370c2
G_BEGIN_DECLS
Packit d370c2
Packit d370c2
#define TERMINAL_TYPE_MDI_CONTAINER            (terminal_mdi_container_get_type ())
Packit d370c2
#define TERMINAL_MDI_CONTAINER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), TERMINAL_TYPE_MDI_CONTAINER, TerminalMdiContainer))
Packit d370c2
#define TERMINAL_IS_MDI_CONTAINER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TERMINAL_TYPE_MDI_CONTAINER))
Packit d370c2
#define TERMINAL_MDI_CONTAINER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), TERMINAL_TYPE_MDI_CONTAINER, TerminalMdiContainerInterface))
Packit d370c2
Packit d370c2
typedef struct _TerminalMdiContainer          TerminalMdiContainer;
Packit d370c2
typedef struct _TerminalMdiContainerInterface TerminalMdiContainerInterface;
Packit d370c2
Packit d370c2
struct _TerminalMdiContainerInterface {
Packit d370c2
  GTypeInterface parent_iface;
Packit d370c2
Packit d370c2
  /* vfuncs */
Packit d370c2
  void                  (* add_screen)              (TerminalMdiContainer *container,
Packit d370c2
                                                     TerminalScreen *screen);
Packit d370c2
  void                  (* remove_screen)           (TerminalMdiContainer *container,
Packit d370c2
                                                     TerminalScreen *screen);
Packit d370c2
  TerminalScreen *      (* get_active_screen)       (TerminalMdiContainer *container);
Packit d370c2
  void                  (* set_active_screen)       (TerminalMdiContainer *container,
Packit d370c2
                                                     TerminalScreen *screen);
Packit d370c2
  GList *               (* list_screens)            (TerminalMdiContainer *container);
Packit d370c2
  GList *               (* list_screen_containers)  (TerminalMdiContainer *container);
Packit d370c2
  int                   (* get_n_screens)           (TerminalMdiContainer *container);
Packit d370c2
  int                   (* get_active_screen_num)   (TerminalMdiContainer *container);
Packit d370c2
  void                  (* set_active_screen_num)   (TerminalMdiContainer *container,
Packit d370c2
                                                     int position);
Packit d370c2
  void                  (* reorder_screen)          (TerminalMdiContainer *container,
Packit d370c2
                                                     TerminalScreen *screen,
Packit d370c2
                                                     int new_position);
Packit d370c2
Packit d370c2
  /* signals */
Packit d370c2
  void (* screen_added)         (TerminalMdiContainer *container,
Packit d370c2
                                 TerminalScreen *screen);
Packit d370c2
  void (* screen_removed)       (TerminalMdiContainer *container,
Packit d370c2
                                 TerminalScreen *screen);
Packit d370c2
  void (* screen_switched)      (TerminalMdiContainer *container,
Packit d370c2
                                 TerminalScreen *old_active_screen,
Packit d370c2
                                 TerminalScreen *new_active_screen);
Packit d370c2
  void (* screens_reordered)    (TerminalMdiContainer *container);
Packit d370c2
  void (* screen_close_request) (TerminalMdiContainer *container,
Packit d370c2
                                 TerminalScreen *screen);
Packit d370c2
};
Packit d370c2
Packit d370c2
GType terminal_mdi_container_get_type (void);
Packit d370c2
Packit d370c2
void terminal_mdi_container_add_screen (TerminalMdiContainer *container,
Packit d370c2
                                        TerminalScreen *screen);
Packit d370c2
Packit d370c2
void terminal_mdi_container_remove_screen (TerminalMdiContainer *container,
Packit d370c2
                                           TerminalScreen *screen);
Packit d370c2
Packit d370c2
TerminalScreen *terminal_mdi_container_get_active_screen (TerminalMdiContainer *container);
Packit d370c2
Packit d370c2
void terminal_mdi_container_set_active_screen (TerminalMdiContainer *container,
Packit d370c2
                                               TerminalScreen *screen);
Packit d370c2
Packit d370c2
void terminal_mdi_container_set_active_screen_num (TerminalMdiContainer *container,
Packit d370c2
                                                   int position);
Packit d370c2
Packit d370c2
GList *terminal_mdi_container_list_screens (TerminalMdiContainer *container);
Packit d370c2
Packit d370c2
GList *terminal_mdi_container_list_screen_containers (TerminalMdiContainer *container);
Packit d370c2
Packit d370c2
int terminal_mdi_container_get_n_screens (TerminalMdiContainer *container);
Packit d370c2
Packit d370c2
int terminal_mdi_container_get_active_screen_num (TerminalMdiContainer *container);
Packit d370c2
Packit d370c2
void terminal_mdi_container_reorder_screen (TerminalMdiContainer *container,
Packit d370c2
                                            TerminalScreen *screen,
Packit d370c2
                                            int new_position);
Packit d370c2
Packit d370c2
void terminal_mdi_container_change_screen (TerminalMdiContainer *container,
Packit d370c2
                                           int change);
Packit d370c2
Packit d370c2
G_END_DECLS
Packit d370c2
Packit d370c2
#endif /* TERMINAL_MDI_CONTAINER_H */