Unicorn - Coriolis GUI


UnicornGui.h
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | U n i c o r n - M a i n G U I |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./unicorn/UnicornGui.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 
18 
19 #ifndef UNICORN_UNICORN_H
20 #define UNICORN_UNICORN_H
21 
22 #include <set>
23 #include <iostream>
24 #include <functional>
25 #include <boost/any.hpp>
26 #include "hurricane/viewer/CellViewer.h"
27 #include "crlcore/Banner.h"
28 namespace CRL {
29  class GraphicTool;
30  class LibraryManager;
31 }
32 
33 #include "unicorn/ImportCell.h"
34 
35 
36 namespace Unicorn {
37 
38 
39  using std::set;
41  using Hurricane::Cell;
42  using CRL::Banner;
43  using CRL::GraphicTool;
44  using CRL::LibraryManager;
45 
46  class ImportCellDialog;
47  class ExportCellDialog;
48 
49 
50  class UnicornGui : public CellViewer {
51  Q_OBJECT;
52  public:
53  static UnicornGui* create ( QWidget* parent=NULL );
54  void destroy ();
55  void readQtSettings ();
56  static inline Banner& getBanner ();
57  virtual Cell* getCellFromDb ( const char* name );
58  inline ImportCell* getImportCell ();
60  virtual UnicornGui* vcreate () const;
61  virtual std::string _getString () const;
62  public slots:
63  void saveQtSettings ();
64  void openCell ();
65  void saveCell ();
66  void importCell ();
67  void exportCell ();
68  protected:
69  UnicornGui ( QWidget* parent );
70  virtual ~UnicornGui ();
71  virtual void _postCreate ();
72  virtual void _preDestroy ();
73  void _runUnicornInit ();
74  protected:
75  static Banner _banner;
76  set<GraphicTool*> _tools;
77  ImportCell _importCell;
78  ImportCellDialog* _importDialog;
79  ExportCellDialog* _exportDialog;
80  LibraryManager* _libraryManager;
81  };
82 
83 
84  inline Banner& UnicornGui::getBanner () { return _banner; }
85  inline ImportCell* UnicornGui::getImportCell () { return &_importCell; }
86 
87 
88 } // End of Unicorn namespace.
89 
90 
91 GETSTRING_POINTER_SUPPORT(Unicorn::UnicornGui)
92 IOSTREAM_POINTER_SUPPORT(Unicorn::UnicornGui)
93 
94 
95 #endif // __UNICORN_UNICORN__
96 
The Full Fledged GUI of Coriolis.
Definition: UnicornGui.h:50
virtual Cell * getCellFromDb(const char *name)
static Banner & getBanner()
Definition: UnicornGui.h:84
void registerTool(GraphicTool *)
static UnicornGui * create(QWidget *parent=NULL)
Namespace of Unicorn.
Definition: UnicornGui.h:36


Generated by doxygen 1.9.1 on Wed Nov 20 2024 Return to top of page
Unicorn - Coriolis GUI Copyright © 2008-2020 Sorbonne Universite All rights reserved