summaryrefslogtreecommitdiffstats
path: root/applications/rview/rview.hh
diff options
context:
space:
mode:
Diffstat (limited to 'applications/rview/rview.hh')
-rw-r--r--applications/rview/rview.hh139
1 files changed, 139 insertions, 0 deletions
diff --git a/applications/rview/rview.hh b/applications/rview/rview.hh
new file mode 100644
index 0000000..1b26cc8
--- /dev/null
+++ b/applications/rview/rview.hh
@@ -0,0 +1,139 @@
+/*
+* This file is part of rasdaman community.
+*
+* Rasdaman community 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 3 of the License, or
+* (at your option) any later version.
+*
+* Rasdaman community 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 rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+*
+* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+rasdaman GmbH.
+*
+* For more information please see <http://www.rasdaman.org>
+* or contact Peter Baumann via <baumann@rasdaman.com>.
+/
+
+/**
+ * PURPOSE:
+ *
+ * rView main application (class rView) and main frame (class rviewMainFrame).
+ * The main application includes the database object which has to be accessed
+ * through rView-member functions.
+ *
+ * COMMENTS:
+ * none
+ */
+
+
+
+#ifndef _RVIEW_H_
+#define _RVIEW_H_
+
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+
+
+
+
+// RasDaMan includes
+#include "rasodmg/ref.hh"
+#include "rasodmg/marray.hh"
+
+
+#include "rviewApp.hh"
+#include "rviewUtils.hh"
+#include "rviewPrefs.hh"
+
+
+
+/*
+ * rView's main frame
+ */
+class rviewMainFrame: public rviewFrame
+{
+ public:
+
+ rviewMainFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
+ ~rviewMainFrame(void);
+ void OnMenuCommand(int id);
+ void OnSize(int w, int h);
+ void SetDatabaseInfo(const char *srvName, int srvPort,
+ const char *dbName, const char*usrName);
+ void GetDatabaseInfo(DynamicString &srvName, int& srvPort, DynamicString &dbName,
+ DynamicString &usrName, DynamicString &usrPassword) const;
+ void newDBState(bool newState);
+ bool OnClose();
+
+ // Implementations of the rviewFrame virtual functions
+ void label(void);
+ int process(wxObject &obj, wxEvent &evt);
+
+ int userEvent(const user_event &ue);
+
+ virtual const char *getFrameName(void) const;
+ virtual rviewFrameType getFrameType(void) const;
+
+ // constants
+ // Width and height of main window
+ static const int main_width;
+ static const int main_height;
+ // Border around panel in main frame
+ static const int main_border;
+ // Height of server / database text widgets
+ static const int main_theight;
+ // Dimensions of button(s)
+ static const int main_bwidth;
+ static const int main_bheight;
+
+
+ protected:
+
+ rviewText *server;
+ rviewText *port;
+ rviewText *database;
+ rviewText *username;
+ rviewText *userpassword;
+ rviewButton *openBut;
+ wxPanel *panel;
+ wxMenuBar *mBar;
+ bool dbOpen;
+ rviewAbout *aboutWindow;
+};
+
+
+
+/*
+ * rView application specifics
+ */
+class rView: public rmanClientApp
+{
+ public:
+
+ rView(void);
+ virtual ~rView(void);
+ wxFrame *OnInit(void);
+ void OpenCloseServer(void);
+ void OpenQueryWindow(void);
+
+
+ private:
+
+ rviewMainFrame *mainFrame;
+
+ static const char labels_filename[];
+ static const char prefs_filename[];
+ static const double version;
+};
+
+#endif