itom  4.1.0
outlineItem.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2020, Institut fuer Technische Optik (ITO),
5  Universitaet Stuttgart, Germany
6 
7  This file is part of itom.
8 
9  itom is free software; you can redistribute it and/or modify it
10  under the terms of the GNU Library General Public Licence as published by
11  the Free Software Foundation; either version 2 of the Licence, or (at
12  your option) any later version.
13 
14  itom is distributed in the hope that it will be useful, but
15  WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
17  General Public Licence for more details.
18 
19  You should have received a copy of the GNU Library General Public License
20  along with itom. If not, see <http://www.gnu.org/licenses/>.
21 *********************************************************************** */
22 
23 #pragma once
24 
25 #include <qlist.h>
26 #include <qstring.h>
27 #include <qicon.h>
28 #include <qsharedpointer.h>
29 
30 namespace ito {
31 
32 class OutlineItem;
33 
35 {
36 public:
37  enum Type
38  {
39  typeRoot,
43  typePropertyGet,
44  typePropertySet,
45  typeStaticMethod,
46  typeClassMethod
47  };
48 
49  explicit OutlineItem(Type type);
50  ~OutlineItem();
51 
52  QIcon icon() const;
53 
54  Type m_type;
55  QString m_name;
56  QString m_args;
57  QString m_returnType;
60  bool m_private;
61  bool m_async;
62  QWeakPointer<OutlineItem> m_parent;
63 
64  QList<QSharedPointer<OutlineItem>> m_childs;
65 };
66 
67 } //end namespace ito
68 
69 Q_DECLARE_METATYPE(QSharedPointer<ito::OutlineItem>) //must be outside of namespace
70 
Type
Definition: outlineItem.h:37
int m_endLineIdx
the last line where the block ends
Definition: outlineItem.h:59
int m_startLineIdx
the first line where the block starts
Definition: outlineItem.h:58
Definition: outlineItem.h:34
Definition: apiFunctionsGraph.cpp:39
class method
Definition: outlineItem.h:40
bound method of a class (first arg is self)
Definition: outlineItem.h:42
unbound function
Definition: outlineItem.h:41