RegularState.cpp
Go to the documentation of this file.
1 /*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package ArmarX::
17 * @author Mirko Waechter ( mirko.waechter at kit dot edu)
18 * @date 2014
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22 
23 #include "RegularState.h"
24 
25 #include "../State.h"
26 #include "Visitor.h"
27 
29 {
30 
32  const QString& instanceName,
33  StatePtr parentState) :
34  StateInstance(instanceName, parentState), stateClass(stateClass)
35  {
36  if (stateClass)
37  {
38  stateClassUUID = stateClass->getUUID();
39  setStateClass(stateClass);
40  }
41  }
42 
43  RegularState::RegularState(const QString& stateClassUUID,
44  const QString& instanceName,
45  StatePtr parentState) :
46  StateInstance(instanceName, parentState), stateClassUUID(stateClassUUID)
47  {
48  }
49 
50  StatePtr
52  {
53  return stateClass;
54  }
55 
56  void
58  {
59  if (newStateClass)
60  {
61  if (stateClass)
62  {
63  // TODO check if disconnect works
64  disconnect(stateClass.get(), SIGNAL(resized()), this, SLOT(updateScale()));
65  }
66 
67  stateClass = newStateClass;
68  connect(stateClass.get(), SIGNAL(resized()), this, SLOT(updateScale()));
69  }
70  }
71 } // namespace armarx::statechartmodel
armarx::statechartmodel::StateInstance::updateScale
void updateScale()
Definition: StateInstance.cpp:219
armarx::statechartmodel::StateInstance
Definition: StateInstance.h:43
Visitor.h
RegularState.h
armarx::statechartmodel
Definition: XmlWriter.h:36
armarx::statechartmodel::RegularState::getStateClass
StatePtr getStateClass() const override
Definition: RegularState.cpp:51
armarx::statechartmodel::StatePtr
std::shared_ptr< State > StatePtr
Definition: State.h:48
armarx::statechartmodel::RegularState::RegularState
RegularState(StatePtr stateClass, const QString &instanceName, StatePtr parentState=StatePtr())
Definition: RegularState.cpp:31
armarx::statechartmodel::RegularState::setStateClass
void setStateClass(StatePtr newStateClass)
Definition: RegularState.cpp:57