Blame src/terminal-mdi-container.h

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