OpenStructure
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
build-2.7-doc
stage
include
ost
gui
python_shell
transition_guard.hh
Go to the documentation of this file.
1
//------------------------------------------------------------------------------
2
// This file is part of the OpenStructure project <www.openstructure.org>
3
//
4
// Copyright (C) 2008-2020 by the OpenStructure authors
5
//
6
// This library is free software; you can redistribute it and/or modify it under
7
// the terms of the GNU Lesser General Public License as published by the Free
8
// Software Foundation; either version 3.0 of the License, or (at your option)
9
// any later version.
10
// This library is distributed in the hope that it will be useful, but WITHOUT
11
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13
// details.
14
//
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with this library; if not, write to the Free Software Foundation, Inc.,
17
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
//------------------------------------------------------------------------------
19
20
#ifndef TRANSITION_GUARD_HH
21
#define TRANSITION_GUARD_HH
22
23
#include "
python_shell_fw.hh
"
24
#include "
python_interpreter.hh
"
25
#include <QObject>
26
27
namespace
ost {
namespace
gui {
28
29
30
//fw decl
31
class
ShellHistory;
32
class
PythonShellWidget;
33
34
35
class
TransitionGuard
:
public
QObject
36
{
37
Q_OBJECT
38
39
public
:
40
TransitionGuard
();
41
virtual
bool
check
();
42
};
43
44
45
46
class
HistoryGuard
:
public
TransitionGuard
47
{
48
public
:
49
HistoryGuard
(
ShellHistory
* history,
BlockEditMode
mode);
50
virtual
bool
check
();
51
protected
:
52
ShellHistory
*
history_
;
53
BlockEditMode
mode_
;
54
};
55
56
class
EditPositionGuard
:
public
TransitionGuard
57
{
58
public
:
59
enum
FLAGS
{
60
ALWAYSTRUE
=0,
61
SMALLER
=1,
62
EQUAL
=2,
63
BIGGER
=4,
64
ANCHORSMALLER
=8,
65
ANCHOREQUAL
=16,
66
ANCHORBIGGER
=32
67
};
68
EditPositionGuard
(
PythonShellWidget
* shell,
int
flags1,
int
flags2=
ALWAYSTRUE
);
69
virtual
bool
check
();
70
protected
:
71
virtual
bool
check_flag
(
int
flag);
72
PythonShellWidget
*
shell_
;
73
int
flags1_
;
74
int
flags2_
;
75
};
76
77
class
BlockStatusGuard
:
public
TransitionGuard
78
{
79
public
:
80
BlockStatusGuard
(
PythonShellWidget
* shell,
int
status);
81
virtual
bool
check
();
82
protected
:
83
PythonShellWidget
*
shell_
;
84
int
status_
;
85
};
86
87
88
89
}}
//ns
90
91
92
#endif // TRANSITION_GUARD_HH
ost::gui::BlockStatusGuard::status_
int status_
Definition:
transition_guard.hh:84
ost::gui::EditPositionGuard::ANCHOREQUAL
Definition:
transition_guard.hh:65
ost::gui::BlockStatusGuard::check
virtual bool check()
ost::gui::HistoryGuard::HistoryGuard
HistoryGuard(ShellHistory *history, BlockEditMode mode)
ost::gui::EditPositionGuard::FLAGS
FLAGS
Definition:
transition_guard.hh:59
ost::gui::EditPositionGuard::shell_
PythonShellWidget * shell_
Definition:
transition_guard.hh:72
ost::gui::EditPositionGuard::check
virtual bool check()
ost::gui::BlockStatusGuard::shell_
PythonShellWidget * shell_
Definition:
transition_guard.hh:83
ost::gui::BlockStatusGuard::BlockStatusGuard
BlockStatusGuard(PythonShellWidget *shell, int status)
ost::gui::EditPositionGuard
Definition:
transition_guard.hh:56
ost::gui::EditPositionGuard::EQUAL
Definition:
transition_guard.hh:62
ost::gui::PythonShellWidget
Definition:
python_shell_widget.hh:47
ost::gui::EditPositionGuard::ANCHORBIGGER
Definition:
transition_guard.hh:66
ost::gui::BlockEditMode
BlockEditMode
Definition:
python_shell_fw.hh:31
python_shell_fw.hh
ost::gui::TransitionGuard
Definition:
transition_guard.hh:35
ost::gui::HistoryGuard
Definition:
transition_guard.hh:46
ost::gui::EditPositionGuard::check_flag
virtual bool check_flag(int flag)
ost::gui::EditPositionGuard::flags1_
int flags1_
Definition:
transition_guard.hh:73
ost::gui::EditPositionGuard::SMALLER
Definition:
transition_guard.hh:61
ost::gui::EditPositionGuard::ALWAYSTRUE
Definition:
transition_guard.hh:60
ost::gui::HistoryGuard::mode_
BlockEditMode mode_
Definition:
transition_guard.hh:53
ost::gui::TransitionGuard::check
virtual bool check()
ost::gui::ShellHistory
Definition:
shell_history.hh:32
python_interpreter.hh
ost::gui::EditPositionGuard::ANCHORSMALLER
Definition:
transition_guard.hh:64
ost::gui::HistoryGuard::check
virtual bool check()
ost::gui::EditPositionGuard::flags2_
int flags2_
Definition:
transition_guard.hh:74
ost::gui::EditPositionGuard::BIGGER
Definition:
transition_guard.hh:63
ost::gui::HistoryGuard::history_
ShellHistory * history_
Definition:
transition_guard.hh:52
ost::gui::TransitionGuard::TransitionGuard
TransitionGuard()
ost::gui::EditPositionGuard::EditPositionGuard
EditPositionGuard(PythonShellWidget *shell, int flags1, int flags2=ALWAYSTRUE)
ost::gui::BlockStatusGuard
Definition:
transition_guard.hh:77
Generated by
1.8.5