SeExpr
ExprDialog.h
Go to the documentation of this file.
1/*
2* Copyright Disney Enterprises, Inc. All rights reserved.
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License
6* and the following modification to it: Section 6 Trademarks.
7* deleted and replaced with:
8*
9* 6. Trademarks. This License does not grant permission to use the
10* trade names, trademarks, service marks, or product names of the
11* Licensor and its affiliates, except as required for reproducing
12* the content of the NOTICE file.
13*
14* You may obtain a copy of the License at
15* http://www.apache.org/licenses/LICENSE-2.0
16*
17* @file ExprDialog.h
18* @brief A basic editor/browser/previewer for expression editing
19* @author jlacewel
20*/
21#ifndef _MY_EXPR_EDITOR_H
22#define _MY_EXPR_EDITOR_H
23
24#include <QObject>
25#include <QMessageBox>
26#include <QGLWidget>
27#include <QHBoxLayout>
28#include <QSplitter>
29#include <QPalette>
30#include <QPushButton>
31#include <QFileDialog>
32#include <QSpacerItem>
33#include <QSizePolicy>
34
35#include <iostream>
36#include <fstream>
37
38#include "ExprEditor.h"
39
41class ExprBrowser;
42class QTabWidget;
43
44class ExprDialog : public QDialog {
45 Q_OBJECT
46
47 public:
50
51 private:
54 QPushButton* acceptButton;
55 QPushButton* cancelButton;
57
60 QLineEdit* helpFindBox;
62 QTextBrowser* helpBrowser;
63 QTextCursor cursor;
64 QString prevFind;
66
67 public:
68 ExprDialog(QWidget* parent);
69
70 std::string getExpressionString() { return editor->getExpr(); }
71
72 void setExpressionString(const std::string& str) {
74 editor->setExpr(str, /*apply*/ true);
75 }
76
77 void show();
78 int exec();
79
80 // Show the Nth editor dialog
81 void showEditor(int idx);
82
83 private:
84 void setupHelp(QTabWidget* tab);
85
86 protected:
87 void keyPressEvent(QKeyEvent* event);
88 void findHelper(QTextDocument::FindFlags flags);
89 void closeEvent(QCloseEvent* event);
90
91signals:
92 void preview();
95 private
96slots:
97 void previewExpression();
98 void verifiedApply();
99 void verifiedAccept();
100 void findNextInHelp();
101 void findPrevInHelp();
102 void _showEditor();
103 public
104slots:
105
106 void applyExpression();
107
108 void clearExpression();
109
110 void reject();
111};
112
113#endif
void findPrevInHelp()
QLineEdit * helpFindBox
Definition ExprDialog.h:60
void setupHelp(QTabWidget *tab)
QString prevFind
Definition ExprDialog.h:64
void expressionApplied()
std::string getExpressionString()
Definition ExprDialog.h:70
QPushButton * saveAsButton
Definition ExprDialog.h:58
int _currentEditorIdx
Definition ExprDialog.h:65
QPushButton * previewButton
Definition ExprDialog.h:58
QPushButton * saveButton
Definition ExprDialog.h:58
void reject()
ExprEditor * editor
Definition ExprDialog.h:48
void findNextInHelp()
void preview()
void verifiedApply()
ExprDialog(QWidget *parent)
void setExpressionString(const std::string &str)
Definition ExprDialog.h:72
QTimer * showEditorTimer
Definition ExprDialog.h:61
ExprGrapherWidget * grapher
Definition ExprDialog.h:52
void applyExpression()
void closeEvent(QCloseEvent *event)
QPushButton * acceptButton
Definition ExprDialog.h:54
void keyPressEvent(QKeyEvent *event)
ExprControlCollection * controls
Definition ExprDialog.h:56
QTextCursor cursor
Definition ExprDialog.h:63
QPushButton * cancelButton
Definition ExprDialog.h:55
QLabel * previewCommentLabel
Definition ExprDialog.h:53
void verifiedAccept()
QPushButton * clearButton
Definition ExprDialog.h:59
void previewExpression()
void showEditor(int idx)
QPushButton * applyButton
Definition ExprDialog.h:58
void _showEditor()
QPushButton * saveLocalButton
Definition ExprDialog.h:59
void dialogClosed()
ExprBrowser * browser
Definition ExprDialog.h:49
void findHelper(QTextDocument::FindFlags flags)
void clearExpression()
QTextBrowser * helpBrowser
Definition ExprDialog.h:62