LayoutThread.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5  *
6  * ArmarX is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * ArmarX is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * @package
19  * @author
20  * @date
21  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22  * GNU General Public License
23  */
24 #pragma once
25 
26 #include "../model/State.h"
27 #include "LayoutController.h"
28 #include "LayoutWorkerCreator.h"
29 
30 #include <QThread>
31 
32 namespace armarx
33 {
34 
35  class LayoutThread : public QObject
36  {
37  Q_OBJECT
38 
39  public:
41  ~LayoutThread() override;
42 
43  /**
44  * @brief setState Stops the event loop and resets the top state. All layouting done before is
45  * nullified by this. run() has to be called afterwards to resume layouting.
46  * @param state The new top state.
47  */
49 
50  //protected:
51  void run();
52 
54  {
55  return controller;
56  }
57 
58  private:
59  /**
60  * @brief topState Topstate of all the graphs.
61  */
63 
64  /**
65  * @brief controller The LayoutController that schedules the workers that run in the other thread.
66  */
68 
69  LayoutWorkerCreatorPtr workerCreator;
70  };
71 } //namespace armarx
armarx::LayoutThread
Definition: LayoutThread.h:35
armarx::LayoutController
Definition: LayoutController.h:45
LayoutWorkerCreator.h
armarx::LayoutThread::getController
LayoutController & getController()
Definition: LayoutThread.h:53
LayoutController.h
armarx::LayoutThread::setState
void setState(armarx::statechartmodel::StatePtr state)
setState Stops the event loop and resets the top state.
Definition: LayoutThread.cpp:46
controller
Definition: AddOperation.h:39
armarx::LayoutThread::run
void run()
Definition: LayoutThread.cpp:53
armarx::statechartmodel::State
Definition: State.h:52
armarx::LayoutWorkerCreatorPtr
std::unique_ptr< LayoutWorkerCreator > LayoutWorkerCreatorPtr
Definition: LayoutWorkerCreator.h:42
armarx::statechartmodel::StatePtr
std::shared_ptr< State > StatePtr
Definition: State.h:46
armarx::LayoutThread::~LayoutThread
~LayoutThread() override
Definition: LayoutThread.cpp:40
armarx::LayoutThread::LayoutThread
LayoutThread(armarx::statechartmodel::StatePtr state=statechartmodel::StatePtr(new statechartmodel::State()), bool startEnabled=true)
Definition: LayoutThread.cpp:30
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28