summaryrefslogtreecommitdiff
path: root/src/qt/windows/main_window.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/windows/main_window.h')
-rw-r--r--src/qt/windows/main_window.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/qt/windows/main_window.h b/src/qt/windows/main_window.h
new file mode 100644
index 00000000..a9715db6
--- /dev/null
+++ b/src/qt/windows/main_window.h
@@ -0,0 +1,94 @@
+/** \file main_window.h */ // -*-c++-*-
+//
+// Copyright (C) 2010 Piotr Galiszewski
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+#include <QtGui/QMainWindow>
+
+class QMenu;
+
+namespace aptitude
+{
+ namespace gui
+ {
+ namespace qt
+ {
+ class status_widget;
+ class tab_widget;
+
+ /** \brief Widget representing the main window of the program.
+ *
+ * main_window is the central widget of the program. It is
+ * visually divided into tree parts: the menu bar, the tab
+ * widget, and the status widget.
+ *
+ * menu bar is split into 3 areas and contains the most common
+ * actions the user will invoke.
+ *
+ * The tab widget manages the currently open views, displaying
+ * them as a tabbed notebook (see the tab class). Each tab is
+ * responsible for one particular function of the program,
+ * such as searching of packages or resolving conflicts.
+ *
+ * The status widget shows the current state of the program
+ * (e.g. the number of requested changes) and the progress of
+ * any active tasks.
+ */
+ class main_window : public QMainWindow
+ {
+ Q_OBJECT
+
+ tab_widget *tabs;
+ status_widget *status;
+
+ QMenu *file_menu;
+ QMenu *packages_menu;
+ QMenu *help_menu;
+
+ /** \brief Create actions used in the main menu and in context menus. */
+ void create_actions();
+
+ /** \brief Create layouts and widgets. */
+ void create_gui();
+
+ /** \brief Create a main menu. */
+ void create_menus();
+
+ /** \brief Create a file menu in main menu. */
+ void create_file_menu();
+
+ /** \brief Create a help menu in main menu. */
+ void create_help_menu();
+
+ /** \brief Create a packages menu in main menu. */
+ void create_packages_menu();
+
+ /** \brief Initialize required apt structures. */
+ void initialize_apt();
+
+ public:
+ /** \brief Create a new main_window. */
+ explicit main_window();
+
+ virtual ~main_window();
+
+ /** \brief Retrieve a pointer to a tab_widget added to this window. */
+ tab_widget *get_tab_widget();
+ };
+ }
+ }
+}