Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis 3 Programmer Reference
Gui.h
1#ifndef Isis_GuiMainWindow_h
2#define Isis_GuiMainWindow_h
3
8
9/* SPDX-License-Identifier: CC0-1.0 */
10
11#include <iostream>
12#include <string>
13#include <vector>
14
15#include <QAction>
16#include <QGroupBox>
17#include <QLabel>
18#include <QLayout>
19#include <QLineEdit>
20#include <QMainWindow>
21#include <QProgressBar>
22#include <QScrollArea>
23#include <QWidget>
24
25#include "PvlObject.h"
26#include "PvlGroup.h"
27
28#include "GuiLog.h"
29#include "GuiParameter.h"
30#include "GuiParameterFactory.h"
31
32namespace Isis {
72
73 class Gui : public QMainWindow {
74 Q_OBJECT
75
76 public:
77 static void checkX11();
78
79 static Gui *Create(Isis::UserInterface &ui, int &argc, char *argv[]);
80
81 void ProgressText(const QString &text);
82 void Progress(int percent);
83
84 int Exec(void (*funct)());
85 bool ProcessEvents();
86
87 void LoadMessage(const QString &message);
88 int ShowWarning();
89
90 void ShowLog() {};
91 void Log(const QString &text);
92
94 ~Gui();
95
96 bool eventFilter(QObject *o, QEvent *e);
97
98 public slots:
99
100 private:
101 static Gui *p_gui;
102
103 GuiParameter *AddParameter(Isis::UserInterface &ui, int group, int param);
104 void Preferences();
105 void CreateAreas();
106
107 QAction *CreateProcessAction();
108 QAction *CreateStopAction();
109 QAction *CreateExitAction();
110 QAction *CreateResetAction();
111 QAction *CreatePreviousHistoryAction();
112 QAction *CreateNextHistoryAction();
113 QAction *CreateSaveLogAction();
114 QAction *CreateClearLogAction();
115 QAction *CreateWhatsThisAction();
116
117 void (*p_funct)(); // Function to be called for procesing phase
118
119 QScrollArea *p_scrollArea; // Scrolling area for parameter group boxes
120 QWidget *p_scrollWidget; // Widget with layout for group boxes
121 QVBoxLayout *p_scrollLayout; // Layout for all parameter group boxes
122
123 QLabel *p_statusText;
124 QProgressBar *p_progressBar;
125 GuiLog *p_log;
126
127 QAction *p_processAction;
128 QAction *p_exitAction;
129 QAction *p_stopAction;
130 QAction *p_resetAction;
131 QAction *p_saveLogAction;
132 QAction *p_clearLogAction;
133 QAction *p_previousHistoryAction;
134 QAction *p_nextHistoryAction;
135
137
138 std::vector<GuiParameter *> p_parameters;
139
140 QString p_errorString;
141 bool p_stop;
142
143 void UpdateHistory();
144 int p_historyEntry;
145
146 QLineEdit *p_commandLineEdit;
147
148 private slots:
149 void StartProcess();
150 void StopProcessing();
151
152 void ResetParameters();
153
154 void NextHistory();
155 void PreviousHistory();
156
157 void UpdateExclusions();
158 void UpdateCommandLine();
159 void UpdateParameters();
160
161 void WhatsThis();
162 void AboutProgram();
163 void AboutIsis();
164
165 void InvokeHelper(const QString &funct);
166 };
167};
168
169
170
171#endif
void StopProcessing()
The user pressed the stop button ... see what they want to do.
Definition Gui.cpp:633
void ResetParameters()
Reset the parameters fields to the defaults.
Definition Gui.cpp:667
~Gui()
Destructor.
Definition Gui.cpp:175
void InvokeHelper(const QString &funct)
Activate helper buttons.
Definition Gui.cpp:905
int Exec(void(*funct)())
Start the Gui and enter the main loop This routine only returns when the program is ready to exit.
Definition Gui.cpp:580
void Log(const QString &text)
Write text to the gui log.
Definition Gui.cpp:617
void ProgressText(const QString &text)
Change progress text.
Definition Gui.cpp:565
int ShowWarning()
Show an error message and return if the user wants to continue/abort.
Definition Gui.cpp:606
void UpdateParameters()
Update Parameters.
Definition Gui.cpp:862
void NextHistory()
Goto the next history entry.
Definition Gui.cpp:683
void UpdateExclusions()
Grey out parameters that should be excluded for radio buttons and checkboxes.
Definition Gui.cpp:808
void PreviousHistory()
Goto the previous history entry.
Definition Gui.cpp:689
void StartProcess()
The user pressed the go button.
Definition Gui.cpp:335
void Progress(int percent)
Update the progress bar.
Definition Gui.cpp:571
void LoadMessage(const QString &message)
Add more information to the error message.
Definition Gui.cpp:586
bool eventFilter(QObject *o, QEvent *e)
Reset the Progress bar when the user moves the mouse onto the toolbar.
Definition Gui.cpp:622
Gui(Isis::UserInterface &ui)
Constructor.
Definition Gui.cpp:130
static Gui * p_gui
Singleton.
Definition Gui.h:101
void UpdateHistory()
Changed the parameters based on the history pointer.
Definition Gui.cpp:702
bool ProcessEvents()
Let the event loop have some time to see if we need to cancel.
Definition Gui.cpp:661
void UpdateCommandLine()
Update the command line toolbar.
Definition Gui.cpp:830
static void checkX11()
check to see if X is available
Definition Gui.cpp:55
Command Line and Xml loader, validation, and access.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16