##// END OF EJS Templates
- Added CHANGELOG...
ezust -
r2:b0bd6d44c879
parent child
Show More
@@ -0,0 +1,37
1
2 Version 1.1 ChangeLog:
3
4 florianlink | 2007-11-15 08:38:24 -0800 (Thu, 15 Nov 2007)
5 - added support for mapping Python lists to QList<AnyPtr*> lists on slot calls
6 - added support for QList<AnyPtr*> return values and signal signatures
7 - changed binary output to lib as well, so that the setting of PATH can be avoided
8 - changed profiles to use a new common.prf to facilitate global settings
9 - improved docs
10 - added _d extension for debug build (see common.prf)
11 - added $$PWD, which is important if the file is included from somewhere else (which we do in mevis)
12 - added softspace support (implemented by Andre Kramer)
13 - updated windows documentation and variables which need to be set
14 - changed to use only PYTHON_PATH on Windows
15 - added more build docs
16 - changed date conversion from/to strings to ISODate
17 - fixed return argument initialization to NULL
18 - added mevis doc
19 - fixed handling of unknown reference types
20 - made lookupObject public
21 - added overload calls to introspection
22
23 marcusbarann | 2007-11-08 06:15:55 -0800 (Thu, 08 Nov 2007)
24 - Added PythonQt.pro, cleaned up build system
25
26 akramer | 2007-10-17 08:02:25 -0700 (Wed, 17 Oct 2007)
27 - external variant was missing the "config += qtestlib" needed for using the Qt unit test framework.
28 - provide relative path to Gui extension lib
29 - added a sentence about using the Windows installer version of Python
30 - Fix for converting QByteArray values that include 0 chars.
31 They are still converted to/from Python strings but using
32 size of contents rather than string 0 (null) termination.
33 - bug fix for getMTimeOfSource when PythonQt::importInterface() is null
34 - Linux external build improvements
35
36 2007-01-30 00:11:25 -0800 (Tue, 30 Jan 2007) | 1 line
37 - Released version 1.0
@@ -0,0 +1,34
1 #include <PythonQt.h>
2 #include <QtGui>
3 int main (int argc, char* argv[]) {
4 QApplication app(argc, argv);
5 PythonQt::init();
6 PythonQtObjectPtr mainModule = PythonQt::self()->getMainModule();
7 Q_ASSERT(!mainModule.isNull());
8 {
9 // evaluate a python file embedded in executable as resource:
10 mainModule.evalFile(":eyed3tagger.py");
11 PythonQtObjectPtr tag = mainModule.evalScript("EyeD3Tagger()\n", Py_eval_input);
12 Q_ASSERT(!tag.isNull());
13 tag.call("setFileName", QVariantList() << "t.mp3");
14 QVariant fn = tag.call("fileName", QVariantList());
15 Q_ASSERT(fn.toString() == QString("t.mp3"));
16 }
17 qDebug() << "test1";
18 { // alternative using import and loading it as a real module from sys.path
19 // import sys first
20 mainModule.evalScript(QString("import sys\n"));
21 // append the current directory to the sys.path
22 mainModule.evalScript(QString("sys.path.append('%1')\n").arg(QDir::currentPath()));
23
24 mainModule.evalScript("import eyed3tagger\n");
25 PythonQtObjectPtr tag = mainModule.evalScript("eyed3tagger.EyeD3Tagger()\n", Py_eval_input);
26 Q_ASSERT(!tag.isNull());
27 tag.call("setFileName", QVariantList() << "t.mp3");
28 QVariant fn = tag.call("fileName", QVariantList());
29 Q_ASSERT(fn.toString() == QString("t.mp3"));
30 }
31
32 qDebug() << "finished";
33 return 0;
34 }
@@ -0,0 +1,9
1 CONFIG += debug
2 VPATH +=
3 INCLUDEPATH += . $$(PYTHONQT_ROOT)/src /usr/include/python2.5
4
5 SOURCES += CPPPyWrapperExample.cpp
6
7 LIBS += -L$$(PYTHONQT_ROOT)/lib -lPythonQt -lutil
8
9 RESOURCES += CPPPyWrapperExample.qrc
@@ -0,0 +1,5
1 <RCC version="1.0">
2 <qresource>
3 <file>eyed3tagger.py</file>
4 </qresource>
5 </RCC>
@@ -0,0 +1,9
1 It also shows how to add user defined Python classes to the
2 embedded Python mainModule.
3 It also shows how to create objects in Python,
4 hold onto reference counted smart pointers to them from
5 a Qt application, and invoke methods on them via
6 the PythonQtObjectPtr interface.
7
8
9
@@ -0,0 +1,10
1 class EyeD3Tagger():
2 def __init__(self, fileName = None):
3 if not fileName is None:
4 self.setFileName(fileName)
5
6 def fileName(self):
7 return self.fn
8
9 def setFileName(self, fileName):
10 self.fn = fileName
@@ -1,18 +1,18
1 1 PythonQt
2 2 --------
3 3
4 4 PythonQt is a dynamic Python (http://www.python.org) binding for Qt (http://www.trolltech.com).
5 It offers an easy way to embedd the Python scripting language into
5 It offers an easy way to embed the Python scripting language into
6 6 your Qt applications. It makes heavy use of the QMetaObject system and thus requires Qt4.x.
7 7
8 8 Licensing
9 9 ---------
10 10 PythonQt is distributed under the LGPL license.
11 11
12 12 Documentation
13 13 -------------
14 14
15 15 More documentation is available at:
16 16
17 17 http://pythonqt.sourceforge.net/
18 18
@@ -1,1098 +1,1098
1 1 # Doxyfile 1.3.5
2 2
3 3 # This file describes the settings to be used by the documentation system
4 4 # doxygen (www.doxygen.org) for a project
5 5 #
6 6 # All text after a hash (#) is considered a comment and will be ignored
7 7 # The format is:
8 8 # TAG = value [value, ...]
9 9 # For lists items can also be appended using:
10 10 # TAG += value [value, ...]
11 11 # Values that contain spaces should be placed between quotes (" ")
12 12
13 13 #---------------------------------------------------------------------------
14 14 # Project related configuration options
15 15 #---------------------------------------------------------------------------
16 16
17 17 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
18 18 # by quotes) that should identify the project.
19 19
20 20 PROJECT_NAME = PythonQt
21 21
22 22 # The PROJECT_NUMBER tag can be used to enter a project or revision number.
23 23 # This could be handy for archiving the generated documentation or
24 24 # if some version control system is used.
25 25
26 PROJECT_NUMBER = 1.0
26 PROJECT_NUMBER = 1.1
27 27
28 28 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
29 29 # base path where the generated documentation will be put.
30 30 # If a relative path is entered, it will be relative to the location
31 31 # where doxygen was started. If left blank the current directory will be used.
32 32
33 33 OUTPUT_DIRECTORY = .
34 34
35 35 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
36 36 # documentation generated by doxygen is written. Doxygen will use this
37 37 # information to generate all constant output in the proper language.
38 38 # The default language is English, other supported languages are:
39 39 # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
40 40 # Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
41 41 # (Japanese with English messages), Korean, Norwegian, Polish, Portuguese,
42 42 # Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
43 43
44 44 OUTPUT_LANGUAGE = English
45 45
46 46 # This tag can be used to specify the encoding used in the generated output.
47 47 # The encoding is not always determined by the language that is chosen,
48 48 # but also whether or not the output is meant for Windows or non-Windows users.
49 49 # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
50 50 # forces the Windows encoding (this is the default for the Windows binary),
51 51 # whereas setting the tag to NO uses a Unix-style encoding (the default for
52 52 # all platforms other than Windows).
53 53
54 54 USE_WINDOWS_ENCODING = NO
55 55
56 56 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
57 57 # include brief member descriptions after the members that are listed in
58 58 # the file and class documentation (similar to JavaDoc).
59 59 # Set to NO to disable this.
60 60
61 61 BRIEF_MEMBER_DESC = YES
62 62
63 63 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
64 64 # the brief description of a member or function before the detailed description.
65 65 # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
66 66 # brief descriptions will be completely suppressed.
67 67
68 68 REPEAT_BRIEF = YES
69 69
70 70 # This tag implements a quasi-intelligent brief description abbreviator
71 71 # that is used to form the text in various listings. Each string
72 72 # in this list, if found as the leading text of the brief description, will be
73 73 # stripped from the text and the result after processing the whole list, is used
74 74 # as the annotated text. Otherwise, the brief description is used as-is. If left
75 75 # blank, the following values are used ("$name" is automatically replaced with the
76 76 # name of the entity): "The $name class" "The $name widget" "The $name file"
77 77 # "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
78 78
79 79 ABBREVIATE_BRIEF =
80 80
81 81 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
82 82 # Doxygen will generate a detailed section even if there is only a brief
83 83 # description.
84 84
85 85 ALWAYS_DETAILED_SEC = NO
86 86
87 87 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
88 88 # members of a class in the documentation of that class as if those members were
89 89 # ordinary class members. Constructors, destructors and assignment operators of
90 90 # the base classes will not be shown.
91 91
92 92 INLINE_INHERITED_MEMB = NO
93 93
94 94 # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
95 95 # path before files name in the file list and in the header files. If set
96 96 # to NO the shortest path that makes the file name unique will be used.
97 97
98 98 FULL_PATH_NAMES = NO
99 99
100 100 # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
101 101 # can be used to strip a user-defined part of the path. Stripping is
102 102 # only done if one of the specified strings matches the left-hand part of
103 103 # the path. It is allowed to use relative paths in the argument list.
104 104
105 105 STRIP_FROM_PATH =
106 106
107 107 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
108 108 # (but less readable) file names. This can be useful is your file systems
109 109 # doesn't support long names like on DOS, Mac, or CD-ROM.
110 110
111 111 SHORT_NAMES = NO
112 112
113 113 # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
114 114 # will interpret the first line (until the first dot) of a JavaDoc-style
115 115 # comment as the brief description. If set to NO, the JavaDoc
116 116 # comments will behave just like the Qt-style comments (thus requiring an
117 117 # explicit @brief command for a brief description.
118 118
119 119 JAVADOC_AUTOBRIEF = NO
120 120
121 121 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
122 122 # treat a multi-line C++ special comment block (i.e. a block of //! or ///
123 123 # comments) as a brief description. This used to be the default behaviour.
124 124 # The new default is to treat a multi-line C++ comment block as a detailed
125 125 # description. Set this tag to YES if you prefer the old behaviour instead.
126 126
127 127 MULTILINE_CPP_IS_BRIEF = NO
128 128
129 129 # If the DETAILS_AT_TOP tag is set to YES then Doxygen
130 130 # will output the detailed description near the top, like JavaDoc.
131 131 # If set to NO, the detailed description appears after the member
132 132 # documentation.
133 133
134 134 DETAILS_AT_TOP = NO
135 135
136 136 # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
137 137 # member inherits the documentation from any documented member that it
138 138 # re-implements.
139 139
140 140 INHERIT_DOCS = YES
141 141
142 142 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
143 143 # tag is set to YES, then doxygen will reuse the documentation of the first
144 144 # member in the group (if any) for the other members of the group. By default
145 145 # all members of a group must be documented explicitly.
146 146
147 147 DISTRIBUTE_GROUP_DOC = NO
148 148
149 149 # The TAB_SIZE tag can be used to set the number of spaces in a tab.
150 150 # Doxygen uses this value to replace tabs by spaces in code fragments.
151 151
152 152 TAB_SIZE = 4
153 153
154 154 # This tag can be used to specify a number of aliases that acts
155 155 # as commands in the documentation. An alias has the form "name=value".
156 156 # For example adding "sideeffect=\par Side Effects:\n" will allow you to
157 157 # put the command \sideeffect (or @sideeffect) in the documentation, which
158 158 # will result in a user-defined paragraph with heading "Side Effects:".
159 159 # You can put \n's in the value part of an alias to insert newlines.
160 160
161 161 ALIASES =
162 162
163 163 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
164 164 # only. Doxygen will then generate output that is more tailored for C.
165 165 # For instance, some of the names that are used will be different. The list
166 166 # of all members will be omitted, etc.
167 167
168 168 OPTIMIZE_OUTPUT_FOR_C = NO
169 169
170 170 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
171 171 # only. Doxygen will then generate output that is more tailored for Java.
172 172 # For instance, namespaces will be presented as packages, qualified scopes
173 173 # will look different, etc.
174 174
175 175 OPTIMIZE_OUTPUT_JAVA = NO
176 176
177 177 # Set the SUBGROUPING tag to YES (the default) to allow class member groups of
178 178 # the same type (for instance a group of public functions) to be put as a
179 179 # subgroup of that type (e.g. under the Public Functions section). Set it to
180 180 # NO to prevent subgrouping. Alternatively, this can be done per class using
181 181 # the \nosubgrouping command.
182 182
183 183 SUBGROUPING = YES
184 184
185 185 #---------------------------------------------------------------------------
186 186 # Build related configuration options
187 187 #---------------------------------------------------------------------------
188 188
189 189 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
190 190 # documentation are documented, even if no documentation was available.
191 191 # Private class members and static file members will be hidden unless
192 192 # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
193 193
194 194 EXTRACT_ALL = YES
195 195
196 196 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class
197 197 # will be included in the documentation.
198 198
199 199 EXTRACT_PRIVATE = NO
200 200
201 201 # If the EXTRACT_STATIC tag is set to YES all static members of a file
202 202 # will be included in the documentation.
203 203
204 204 EXTRACT_STATIC = YES
205 205
206 206 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
207 207 # defined locally in source files will be included in the documentation.
208 208 # If set to NO only classes defined in header files are included.
209 209
210 210 EXTRACT_LOCAL_CLASSES = YES
211 211
212 212 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
213 213 # undocumented members of documented classes, files or namespaces.
214 214 # If set to NO (the default) these members will be included in the
215 215 # various overviews, but no documentation section is generated.
216 216 # This option has no effect if EXTRACT_ALL is enabled.
217 217
218 218 HIDE_UNDOC_MEMBERS = NO
219 219
220 220 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
221 221 # undocumented classes that are normally visible in the class hierarchy.
222 222 # If set to NO (the default) these classes will be included in the various
223 223 # overviews. This option has no effect if EXTRACT_ALL is enabled.
224 224
225 225 HIDE_UNDOC_CLASSES = NO
226 226
227 227 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
228 228 # friend (class|struct|union) declarations.
229 229 # If set to NO (the default) these declarations will be included in the
230 230 # documentation.
231 231
232 232 HIDE_FRIEND_COMPOUNDS = NO
233 233
234 234 # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
235 235 # documentation blocks found inside the body of a function.
236 236 # If set to NO (the default) these blocks will be appended to the
237 237 # function's detailed documentation block.
238 238
239 239 HIDE_IN_BODY_DOCS = NO
240 240
241 241 # The INTERNAL_DOCS tag determines if documentation
242 242 # that is typed after a \internal command is included. If the tag is set
243 243 # to NO (the default) then the documentation will be excluded.
244 244 # Set it to YES to include the internal documentation.
245 245
246 246 INTERNAL_DOCS = NO
247 247
248 248 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
249 249 # file names in lower-case letters. If set to YES upper-case letters are also
250 250 # allowed. This is useful if you have classes or files whose names only differ
251 251 # in case and if your file system supports case sensitive file names. Windows
252 252 # users are advised to set this option to NO.
253 253
254 254 CASE_SENSE_NAMES = YES
255 255
256 256 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
257 257 # will show members with their full class and namespace scopes in the
258 258 # documentation. If set to YES the scope will be hidden.
259 259
260 260 HIDE_SCOPE_NAMES = NO
261 261
262 262 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
263 263 # will put a list of the files that are included by a file in the documentation
264 264 # of that file.
265 265
266 266 SHOW_INCLUDE_FILES = YES
267 267
268 268 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
269 269 # is inserted in the documentation for inline members.
270 270
271 271 INLINE_INFO = YES
272 272
273 273 # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
274 274 # will sort the (detailed) documentation of file and class members
275 275 # alphabetically by member name. If set to NO the members will appear in
276 276 # declaration order.
277 277
278 278 SORT_MEMBER_DOCS = YES
279 279
280 280 # The GENERATE_TODOLIST tag can be used to enable (YES) or
281 281 # disable (NO) the todo list. This list is created by putting \todo
282 282 # commands in the documentation.
283 283
284 284 GENERATE_TODOLIST = NO
285 285
286 286 # The GENERATE_TESTLIST tag can be used to enable (YES) or
287 287 # disable (NO) the test list. This list is created by putting \test
288 288 # commands in the documentation.
289 289
290 290 GENERATE_TESTLIST = NO
291 291
292 292 # The GENERATE_BUGLIST tag can be used to enable (YES) or
293 293 # disable (NO) the bug list. This list is created by putting \bug
294 294 # commands in the documentation.
295 295
296 296 GENERATE_BUGLIST = YES
297 297
298 298 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
299 299 # disable (NO) the deprecated list. This list is created by putting
300 300 # \deprecated commands in the documentation.
301 301
302 302 GENERATE_DEPRECATEDLIST= YES
303 303
304 304 # The ENABLED_SECTIONS tag can be used to enable conditional
305 305 # documentation sections, marked by \if sectionname ... \endif.
306 306
307 307 ENABLED_SECTIONS = sourceonly
308 308
309 309 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines
310 310 # the initial value of a variable or define consists of for it to appear in
311 311 # the documentation. If the initializer consists of more lines than specified
312 312 # here it will be hidden. Use a value of 0 to hide initializers completely.
313 313 # The appearance of the initializer of individual variables and defines in the
314 314 # documentation can be controlled using \showinitializer or \hideinitializer
315 315 # command in the documentation regardless of this setting.
316 316
317 317 MAX_INITIALIZER_LINES = 30
318 318
319 319 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated
320 320 # at the bottom of the documentation of classes and structs. If set to YES the
321 321 # list will mention the files that were used to generate the documentation.
322 322
323 323 SHOW_USED_FILES = YES
324 324
325 325 #---------------------------------------------------------------------------
326 326 # configuration options related to warning and progress messages
327 327 #---------------------------------------------------------------------------
328 328
329 329 # The QUIET tag can be used to turn on/off the messages that are generated
330 330 # by doxygen. Possible values are YES and NO. If left blank NO is used.
331 331
332 332 QUIET = YES
333 333
334 334 # The WARNINGS tag can be used to turn on/off the warning messages that are
335 335 # generated by doxygen. Possible values are YES and NO. If left blank
336 336 # NO is used.
337 337
338 338 WARNINGS = YES
339 339
340 340 # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
341 341 # for undocumented members. If EXTRACT_ALL is set to YES then this flag will
342 342 # automatically be disabled.
343 343
344 344 WARN_IF_UNDOCUMENTED = YES
345 345
346 346 # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
347 347 # potential errors in the documentation, such as not documenting some
348 348 # parameters in a documented function, or documenting parameters that
349 349 # don't exist or using markup commands wrongly.
350 350
351 351 WARN_IF_DOC_ERROR = YES
352 352
353 353 # The WARN_FORMAT tag determines the format of the warning messages that
354 354 # doxygen can produce. The string should contain the $file, $line, and $text
355 355 # tags, which will be replaced by the file and line number from which the
356 356 # warning originated and the warning text.
357 357
358 358 WARN_FORMAT = "$file:$line: $text"
359 359
360 360 # The WARN_LOGFILE tag can be used to specify a file to which warning
361 361 # and error messages should be written. If left blank the output is written
362 362 # to stderr.
363 363
364 364 WARN_LOGFILE = doxygen.log
365 365
366 366 #---------------------------------------------------------------------------
367 367 # configuration options related to the input files
368 368 #---------------------------------------------------------------------------
369 369
370 370 # The INPUT tag can be used to specify the files and/or directories that contain
371 371 # documented source files. You may enter file names like "myfile.cpp" or
372 372 # directories like "/usr/src/myproject". Separate the files or directories
373 373 # with spaces.
374 374
375 375 INPUT = ../src
376 376
377 377 # If the value of the INPUT tag contains directories, you can use the
378 378 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
379 379 # and *.h) to filter out the source-files in the directories. If left
380 380 # blank the following patterns are tested:
381 381 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
382 382 # *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
383 383
384 384 FILE_PATTERNS = *.h
385 385
386 386 # The RECURSIVE tag can be used to turn specify whether or not subdirectories
387 387 # should be searched for input files as well. Possible values are YES and NO.
388 388 # If left blank NO is used.
389 389
390 390 RECURSIVE = NO
391 391
392 392 # The EXCLUDE tag can be used to specify files and/or directories that should
393 393 # excluded from the INPUT source files. This way you can easily exclude a
394 394 # subdirectory from a directory tree whose root is specified with the INPUT tag.
395 395
396 396 EXCLUDE =
397 397
398 398 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
399 399 # that are symbolic links (a Unix filesystem feature) are excluded from the input.
400 400
401 401 EXCLUDE_SYMLINKS = NO
402 402
403 403 # If the value of the INPUT tag contains directories, you can use the
404 404 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
405 405 # certain files from those directories.
406 406
407 407 EXCLUDE_PATTERNS =
408 408
409 409 # The EXAMPLE_PATH tag can be used to specify one or more files or
410 410 # directories that contain example code fragments that are included (see
411 411 # the \include command).
412 412
413 413 EXAMPLE_PATH =
414 414
415 415 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
416 416 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
417 417 # and *.h) to filter out the source-files in the directories. If left
418 418 # blank all files are included.
419 419
420 420 EXAMPLE_PATTERNS =
421 421
422 422 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
423 423 # searched for input files to be used with the \include or \dontinclude
424 424 # commands irrespective of the value of the RECURSIVE tag.
425 425 # Possible values are YES and NO. If left blank NO is used.
426 426
427 427 EXAMPLE_RECURSIVE = NO
428 428
429 429 # The IMAGE_PATH tag can be used to specify one or more files or
430 430 # directories that contain image that are included in the documentation (see
431 431 # the \image command).
432 432
433 433 IMAGE_PATH =
434 434
435 435 # The INPUT_FILTER tag can be used to specify a program that doxygen should
436 436 # invoke to filter for each input file. Doxygen will invoke the filter program
437 437 # by executing (via popen()) the command <filter> <input-file>, where <filter>
438 438 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an
439 439 # input file. Doxygen will then use the output that the filter program writes
440 440 # to standard output.
441 441
442 442 INPUT_FILTER =
443 443
444 444 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
445 445 # INPUT_FILTER) will be used to filter the input files when producing source
446 446 # files to browse (i.e. when SOURCE_BROWSER is set to YES).
447 447
448 448 FILTER_SOURCE_FILES = NO
449 449
450 450 #---------------------------------------------------------------------------
451 451 # configuration options related to source browsing
452 452 #---------------------------------------------------------------------------
453 453
454 454 # If the SOURCE_BROWSER tag is set to YES then a list of source files will
455 455 # be generated. Documented entities will be cross-referenced with these sources.
456 456 # Note: To get rid of all source code in the generated output, make sure also
457 457 # VERBATIM_HEADERS is set to NO.
458 458
459 459 SOURCE_BROWSER = YES
460 460
461 461 # Setting the INLINE_SOURCES tag to YES will include the body
462 462 # of functions and classes directly in the documentation.
463 463
464 464 INLINE_SOURCES = YES
465 465
466 466 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
467 467 # doxygen to hide any special comment blocks from generated source code
468 468 # fragments. Normal C and C++ comments will always remain visible.
469 469
470 470 STRIP_CODE_COMMENTS = YES
471 471
472 472 # If the REFERENCED_BY_RELATION tag is set to YES (the default)
473 473 # then for each documented function all documented
474 474 # functions referencing it will be listed.
475 475
476 476 REFERENCED_BY_RELATION = YES
477 477
478 478 # If the REFERENCES_RELATION tag is set to YES (the default)
479 479 # then for each documented function all documented entities
480 480 # called/used by that function will be listed.
481 481
482 482 REFERENCES_RELATION = YES
483 483
484 484 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
485 485 # will generate a verbatim copy of the header file for each class for
486 486 # which an include is specified. Set to NO to disable this.
487 487
488 488 VERBATIM_HEADERS = YES
489 489
490 490 #---------------------------------------------------------------------------
491 491 # configuration options related to the alphabetical class index
492 492 #---------------------------------------------------------------------------
493 493
494 494 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
495 495 # of all compounds will be generated. Enable this if the project
496 496 # contains a lot of classes, structs, unions or interfaces.
497 497
498 498 ALPHABETICAL_INDEX = YES
499 499
500 500 # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
501 501 # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
502 502 # in which this list will be split (can be a number in the range [1..20])
503 503
504 504 COLS_IN_ALPHA_INDEX = 5
505 505
506 506 # In case all classes in a project start with a common prefix, all
507 507 # classes will be put under the same header in the alphabetical index.
508 508 # The IGNORE_PREFIX tag can be used to specify one or more prefixes that
509 509 # should be ignored while generating the index headers.
510 510
511 511 IGNORE_PREFIX = PythonQt
512 512
513 513 #---------------------------------------------------------------------------
514 514 # configuration options related to the HTML output
515 515 #---------------------------------------------------------------------------
516 516
517 517 # If the GENERATE_HTML tag is set to YES (the default) Doxygen will
518 518 # generate HTML output.
519 519
520 520 GENERATE_HTML = YES
521 521
522 522 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
523 523 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
524 524 # put in front of it. If left blank `html' will be used as the default path.
525 525
526 526 HTML_OUTPUT = html
527 527
528 528 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
529 529 # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
530 530 # doxygen will generate files with .html extension.
531 531
532 532 HTML_FILE_EXTENSION = .html
533 533
534 534 # The HTML_HEADER tag can be used to specify a personal HTML header for
535 535 # each generated HTML page. If it is left blank doxygen will generate a
536 536 # standard header.
537 537
538 538 HTML_HEADER = header.html
539 539
540 540 # The HTML_FOOTER tag can be used to specify a personal HTML footer for
541 541 # each generated HTML page. If it is left blank doxygen will generate a
542 542 # standard footer.
543 543
544 544 HTML_FOOTER =
545 545
546 546 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
547 547 # style sheet that is used by each HTML page. It can be used to
548 548 # fine-tune the look of the HTML output. If the tag is left blank doxygen
549 549 # will generate a default style sheet. Note that doxygen will try to copy
550 550 # the style sheet file to the HTML output directory, so don't put your own
551 551 # stylesheet in the HTML output directory as well, or it will be erased!
552 552
553 553 HTML_STYLESHEET =
554 554
555 555 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
556 556 # files or namespaces will be aligned in HTML using tables. If set to
557 557 # NO a bullet list will be used.
558 558
559 559 HTML_ALIGN_MEMBERS = YES
560 560
561 561 # If the GENERATE_HTMLHELP tag is set to YES, additional index files
562 562 # will be generated that can be used as input for tools like the
563 563 # Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
564 564 # of the generated HTML documentation.
565 565
566 566 GENERATE_HTMLHELP = NO
567 567
568 568 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
569 569 # be used to specify the file name of the resulting .chm file. You
570 570 # can add a path in front of the file if the result should not be
571 571 # written to the html output directory.
572 572
573 573 CHM_FILE =
574 574
575 575 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
576 576 # be used to specify the location (absolute path including file name) of
577 577 # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
578 578 # the HTML help compiler on the generated index.hhp.
579 579
580 580 HHC_LOCATION =
581 581
582 582 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
583 583 # controls if a separate .chi index file is generated (YES) or that
584 584 # it should be included in the master .chm file (NO).
585 585
586 586 GENERATE_CHI = NO
587 587
588 588 # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
589 589 # controls whether a binary table of contents is generated (YES) or a
590 590 # normal table of contents (NO) in the .chm file.
591 591
592 592 BINARY_TOC = NO
593 593
594 594 # The TOC_EXPAND flag can be set to YES to add extra items for group members
595 595 # to the contents of the HTML help documentation and to the tree view.
596 596
597 597 TOC_EXPAND = NO
598 598
599 599 # The DISABLE_INDEX tag can be used to turn on/off the condensed index at
600 600 # top of each HTML page. The value NO (the default) enables the index and
601 601 # the value YES disables it.
602 602
603 603 DISABLE_INDEX = NO
604 604
605 605 # This tag can be used to set the number of enum values (range [1..20])
606 606 # that doxygen will group on one line in the generated HTML documentation.
607 607
608 608 ENUM_VALUES_PER_LINE = 4
609 609
610 610 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
611 611 # generated containing a tree-like index structure (just like the one that
612 612 # is generated for HTML Help). For this to work a browser that supports
613 613 # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
614 614 # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
615 615 # probably better off using the HTML help feature.
616 616
617 617 GENERATE_TREEVIEW = NO
618 618
619 619 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
620 620 # used to set the initial width (in pixels) of the frame in which the tree
621 621 # is shown.
622 622
623 623 TREEVIEW_WIDTH = 250
624 624
625 625 #---------------------------------------------------------------------------
626 626 # configuration options related to the LaTeX output
627 627 #---------------------------------------------------------------------------
628 628
629 629 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
630 630 # generate Latex output.
631 631
632 632 GENERATE_LATEX = NO
633 633
634 634 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
635 635 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
636 636 # put in front of it. If left blank `latex' will be used as the default path.
637 637
638 638 LATEX_OUTPUT = latex
639 639
640 640 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
641 641 # invoked. If left blank `latex' will be used as the default command name.
642 642
643 643 LATEX_CMD_NAME = latex
644 644
645 645 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
646 646 # generate index for LaTeX. If left blank `makeindex' will be used as the
647 647 # default command name.
648 648
649 649 MAKEINDEX_CMD_NAME = makeindex
650 650
651 651 # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
652 652 # LaTeX documents. This may be useful for small projects and may help to
653 653 # save some trees in general.
654 654
655 655 COMPACT_LATEX = NO
656 656
657 657 # The PAPER_TYPE tag can be used to set the paper type that is used
658 658 # by the printer. Possible values are: a4, a4wide, letter, legal and
659 659 # executive. If left blank a4wide will be used.
660 660
661 661 PAPER_TYPE = a4wide
662 662
663 663 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
664 664 # packages that should be included in the LaTeX output.
665 665
666 666 EXTRA_PACKAGES =
667 667
668 668 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for
669 669 # the generated latex document. The header should contain everything until
670 670 # the first chapter. If it is left blank doxygen will generate a
671 671 # standard header. Notice: only use this tag if you know what you are doing!
672 672
673 673 LATEX_HEADER =
674 674
675 675 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
676 676 # is prepared for conversion to pdf (using ps2pdf). The pdf file will
677 677 # contain links (just like the HTML output) instead of page references
678 678 # This makes the output suitable for online browsing using a pdf viewer.
679 679
680 680 PDF_HYPERLINKS = NO
681 681
682 682 # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
683 683 # plain latex in the generated Makefile. Set this option to YES to get a
684 684 # higher quality PDF documentation.
685 685
686 686 USE_PDFLATEX = NO
687 687
688 688 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
689 689 # command to the generated LaTeX files. This will instruct LaTeX to keep
690 690 # running if errors occur, instead of asking the user for help.
691 691 # This option is also used when generating formulas in HTML.
692 692
693 693 LATEX_BATCHMODE = NO
694 694
695 695 # If LATEX_HIDE_INDICES is set to YES then doxygen will not
696 696 # include the index chapters (such as File Index, Compound Index, etc.)
697 697 # in the output.
698 698
699 699 LATEX_HIDE_INDICES = NO
700 700
701 701 #---------------------------------------------------------------------------
702 702 # configuration options related to the RTF output
703 703 #---------------------------------------------------------------------------
704 704
705 705 # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
706 706 # The RTF output is optimized for Word 97 and may not look very pretty with
707 707 # other RTF readers or editors.
708 708
709 709 GENERATE_RTF = NO
710 710
711 711 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
712 712 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
713 713 # put in front of it. If left blank `rtf' will be used as the default path.
714 714
715 715 RTF_OUTPUT = rtf
716 716
717 717 # If the COMPACT_RTF tag is set to YES Doxygen generates more compact
718 718 # RTF documents. This may be useful for small projects and may help to
719 719 # save some trees in general.
720 720
721 721 COMPACT_RTF = NO
722 722
723 723 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
724 724 # will contain hyperlink fields. The RTF file will
725 725 # contain links (just like the HTML output) instead of page references.
726 726 # This makes the output suitable for online browsing using WORD or other
727 727 # programs which support those fields.
728 728 # Note: wordpad (write) and others do not support links.
729 729
730 730 RTF_HYPERLINKS = NO
731 731
732 732 # Load stylesheet definitions from file. Syntax is similar to doxygen's
733 733 # config file, i.e. a series of assignments. You only have to provide
734 734 # replacements, missing definitions are set to their default value.
735 735
736 736 RTF_STYLESHEET_FILE =
737 737
738 738 # Set optional variables used in the generation of an rtf document.
739 739 # Syntax is similar to doxygen's config file.
740 740
741 741 RTF_EXTENSIONS_FILE =
742 742
743 743 #---------------------------------------------------------------------------
744 744 # configuration options related to the man page output
745 745 #---------------------------------------------------------------------------
746 746
747 747 # If the GENERATE_MAN tag is set to YES (the default) Doxygen will
748 748 # generate man pages
749 749
750 750 GENERATE_MAN = NO
751 751
752 752 # The MAN_OUTPUT tag is used to specify where the man pages will be put.
753 753 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
754 754 # put in front of it. If left blank `man' will be used as the default path.
755 755
756 756 MAN_OUTPUT = man
757 757
758 758 # The MAN_EXTENSION tag determines the extension that is added to
759 759 # the generated man pages (default is the subroutine's section .3)
760 760
761 761 MAN_EXTENSION = .3
762 762
763 763 # If the MAN_LINKS tag is set to YES and Doxygen generates man output,
764 764 # then it will generate one additional man file for each entity
765 765 # documented in the real man page(s). These additional files
766 766 # only source the real man page, but without them the man command
767 767 # would be unable to find the correct page. The default is NO.
768 768
769 769 MAN_LINKS = NO
770 770
771 771 #---------------------------------------------------------------------------
772 772 # configuration options related to the XML output
773 773 #---------------------------------------------------------------------------
774 774
775 775 # If the GENERATE_XML tag is set to YES Doxygen will
776 776 # generate an XML file that captures the structure of
777 777 # the code including all documentation.
778 778
779 779 GENERATE_XML = NO
780 780
781 781 # The XML_OUTPUT tag is used to specify where the XML pages will be put.
782 782 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
783 783 # put in front of it. If left blank `xml' will be used as the default path.
784 784
785 785 XML_OUTPUT = xml
786 786
787 787 # The XML_SCHEMA tag can be used to specify an XML schema,
788 788 # which can be used by a validating XML parser to check the
789 789 # syntax of the XML files.
790 790
791 791 XML_SCHEMA =
792 792
793 793 # The XML_DTD tag can be used to specify an XML DTD,
794 794 # which can be used by a validating XML parser to check the
795 795 # syntax of the XML files.
796 796
797 797 XML_DTD =
798 798
799 799 # If the XML_PROGRAMLISTING tag is set to YES Doxygen will
800 800 # dump the program listings (including syntax highlighting
801 801 # and cross-referencing information) to the XML output. Note that
802 802 # enabling this will significantly increase the size of the XML output.
803 803
804 804 XML_PROGRAMLISTING = YES
805 805
806 806 #---------------------------------------------------------------------------
807 807 # configuration options for the AutoGen Definitions output
808 808 #---------------------------------------------------------------------------
809 809
810 810 # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
811 811 # generate an AutoGen Definitions (see autogen.sf.net) file
812 812 # that captures the structure of the code including all
813 813 # documentation. Note that this feature is still experimental
814 814 # and incomplete at the moment.
815 815
816 816 GENERATE_AUTOGEN_DEF = NO
817 817
818 818 #---------------------------------------------------------------------------
819 819 # configuration options related to the Perl module output
820 820 #---------------------------------------------------------------------------
821 821
822 822 # If the GENERATE_PERLMOD tag is set to YES Doxygen will
823 823 # generate a Perl module file that captures the structure of
824 824 # the code including all documentation. Note that this
825 825 # feature is still experimental and incomplete at the
826 826 # moment.
827 827
828 828 GENERATE_PERLMOD = NO
829 829
830 830 # If the PERLMOD_LATEX tag is set to YES Doxygen will generate
831 831 # the necessary Makefile rules, Perl scripts and LaTeX code to be able
832 832 # to generate PDF and DVI output from the Perl module output.
833 833
834 834 PERLMOD_LATEX = NO
835 835
836 836 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
837 837 # nicely formatted so it can be parsed by a human reader. This is useful
838 838 # if you want to understand what is going on. On the other hand, if this
839 839 # tag is set to NO the size of the Perl module output will be much smaller
840 840 # and Perl will parse it just the same.
841 841
842 842 PERLMOD_PRETTY = YES
843 843
844 844 # The names of the make variables in the generated doxyrules.make file
845 845 # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
846 846 # This is useful so different doxyrules.make files included by the same
847 847 # Makefile don't overwrite each other's variables.
848 848
849 849 PERLMOD_MAKEVAR_PREFIX =
850 850
851 851 #---------------------------------------------------------------------------
852 852 # Configuration options related to the preprocessor
853 853 #---------------------------------------------------------------------------
854 854
855 855 # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
856 856 # evaluate all C-preprocessor directives found in the sources and include
857 857 # files.
858 858
859 859 ENABLE_PREPROCESSING = YES
860 860
861 861 # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
862 862 # names in the source code. If set to NO (the default) only conditional
863 863 # compilation will be performed. Macro expansion can be done in a controlled
864 864 # way by setting EXPAND_ONLY_PREDEF to YES.
865 865
866 866 MACRO_EXPANSION = YES
867 867
868 868 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
869 869 # then the macro expansion is limited to the macros specified with the
870 870 # PREDEFINED and EXPAND_AS_PREDEFINED tags.
871 871
872 872 EXPAND_ONLY_PREDEF = YES
873 873
874 874 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
875 875 # in the INCLUDE_PATH (see below) will be search if a #include is found.
876 876
877 877 SEARCH_INCLUDES = YES
878 878
879 879 # The INCLUDE_PATH tag can be used to specify one or more directories that
880 880 # contain include files that are not input files but should be processed by
881 881 # the preprocessor.
882 882
883 883 INCLUDE_PATH = $(QTDIR)/include
884 884
885 885 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
886 886 # patterns (like *.h and *.hpp) to filter out the header-files in the
887 887 # directories. If left blank, the patterns specified with FILE_PATTERNS will
888 888 # be used.
889 889
890 890 INCLUDE_FILE_PATTERNS = *.h
891 891
892 892 # The PREDEFINED tag can be used to specify one or more macro names that
893 893 # are defined before the preprocessor is started (similar to the -D option of
894 894 # gcc). The argument of the tag is a list of macros of the form: name
895 895 # or name=definition (no spaces). If the definition and the = are
896 896 # omitted =1 is assumed.
897 897
898 898 PREDEFINED =
899 899
900 900 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
901 901 # this tag can be used to specify a list of macro names that should be expanded.
902 902 # The macro definition that is found in the sources will be used.
903 903 # Use the PREDEFINED tag if you want to use a different macro definition.
904 904
905 905 EXPAND_AS_DEFINED =
906 906
907 907 # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
908 908 # doxygen's preprocessor will remove all function-like macros that are alone
909 909 # on a line, have an all uppercase name, and do not end with a semicolon. Such
910 910 # function macros are typically used for boiler-plate code, and will confuse the
911 911 # parser if not removed.
912 912
913 913 SKIP_FUNCTION_MACROS = YES
914 914
915 915 #---------------------------------------------------------------------------
916 916 # Configuration::addtions related to external references
917 917 #---------------------------------------------------------------------------
918 918
919 919 # The TAGFILES option can be used to specify one or more tagfiles.
920 920 # Optionally an initial location of the external documentation
921 921 # can be added for each tagfile. The format of a tag file without
922 922 # this location is as follows:
923 923 # TAGFILES = file1 file2 ...
924 924 # Adding location for the tag files is done as follows:
925 925 # TAGFILES = file1=loc1 "file2 = loc2" ...
926 926 # where "loc1" and "loc2" can be relative or absolute paths or
927 927 # URLs. If a location is present for each tag, the installdox tool
928 928 # does not have to be run to correct the links.
929 929 # Note that each tag file must have a unique name
930 930 # (where the name does NOT include the path)
931 931 # If a tag file is not located in the directory in which doxygen
932 932 # is run, you must also specify the path to the tagfile here.
933 933
934 934 TAGFILES =
935 935
936 936 # When a file name is specified after GENERATE_TAGFILE, doxygen will create
937 937 # a tag file that is based on the input files it reads.
938 938
939 939 GENERATE_TAGFILE =
940 940
941 941 # If the ALLEXTERNALS tag is set to YES all external classes will be listed
942 942 # in the class index. If set to NO only the inherited external classes
943 943 # will be listed.
944 944
945 945 ALLEXTERNALS = NO
946 946
947 947 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
948 948 # in the modules index. If set to NO, only the current project's groups will
949 949 # be listed.
950 950
951 951 EXTERNAL_GROUPS = YES
952 952
953 953 # The PERL_PATH should be the absolute path and name of the perl script
954 954 # interpreter (i.e. the result of `which perl').
955 955
956 956 PERL_PATH = /usr/bin/perl
957 957
958 958 #---------------------------------------------------------------------------
959 959 # Configuration options related to the dot tool
960 960 #---------------------------------------------------------------------------
961 961
962 962 # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
963 963 # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
964 964 # super classes. Setting the tag to NO turns the diagrams off. Note that this
965 965 # option is superseded by the HAVE_DOT option below. This is only a fallback. It is
966 966 # recommended to install and use dot, since it yields more powerful graphs.
967 967
968 968 CLASS_DIAGRAMS = YES
969 969
970 970 # If set to YES, the inheritance and collaboration graphs will hide
971 971 # inheritance and usage relations if the target is undocumented
972 972 # or is not a class.
973 973
974 974 HIDE_UNDOC_RELATIONS = YES
975 975
976 976 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
977 977 # available from the path. This tool is part of Graphviz, a graph visualization
978 978 # toolkit from AT&T and Lucent Bell Labs. The other options in this section
979 979 # have no effect if this option is set to NO (the default)
980 980
981 981 HAVE_DOT = NO
982 982
983 983 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
984 984 # will generate a graph for each documented class showing the direct and
985 985 # indirect inheritance relations. Setting this tag to YES will force the
986 986 # the CLASS_DIAGRAMS tag to NO.
987 987
988 988 CLASS_GRAPH = YES
989 989
990 990 # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
991 991 # will generate a graph for each documented class showing the direct and
992 992 # indirect implementation dependencies (inheritance, containment, and
993 993 # class references variables) of the class with other documented classes.
994 994
995 995 COLLABORATION_GRAPH = YES
996 996
997 997 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and
998 998 # collaboration diagrams in a style similar to the OMG's Unified Modeling
999 999 # Language.
1000 1000
1001 1001 UML_LOOK = NO
1002 1002
1003 1003 # If set to YES, the inheritance and collaboration graphs will show the
1004 1004 # relations between templates and their instances.
1005 1005
1006 1006 TEMPLATE_RELATIONS = NO
1007 1007
1008 1008 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
1009 1009 # tags are set to YES then doxygen will generate a graph for each documented
1010 1010 # file showing the direct and indirect include dependencies of the file with
1011 1011 # other documented files.
1012 1012
1013 1013 INCLUDE_GRAPH = YES
1014 1014
1015 1015 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
1016 1016 # HAVE_DOT tags are set to YES then doxygen will generate a graph for each
1017 1017 # documented header file showing the documented files that directly or
1018 1018 # indirectly include this file.
1019 1019
1020 1020 INCLUDED_BY_GRAPH = YES
1021 1021
1022 1022 # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
1023 1023 # generate a call dependency graph for every global function or class method.
1024 1024 # Note that enabling this option will significantly increase the time of a run.
1025 1025 # So in most cases it will be better to enable call graphs for selected
1026 1026 # functions only using the \callgraph command.
1027 1027
1028 1028 CALL_GRAPH = NO
1029 1029
1030 1030 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
1031 1031 # will graphical hierarchy of all classes instead of a textual one.
1032 1032
1033 1033 GRAPHICAL_HIERARCHY = YES
1034 1034
1035 1035 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
1036 1036 # generated by dot. Possible values are png, jpg, or gif
1037 1037 # If left blank png will be used.
1038 1038
1039 1039 DOT_IMAGE_FORMAT = png
1040 1040
1041 1041 # The tag DOT_PATH can be used to specify the path where the dot tool can be
1042 1042 # found. If left blank, it is assumed the dot tool can be found on the path.
1043 1043
1044 1044 DOT_PATH =
1045 1045
1046 1046 # The DOTFILE_DIRS tag can be used to specify one or more directories that
1047 1047 # contain dot files that are included in the documentation (see the
1048 1048 # \dotfile command).
1049 1049
1050 1050 DOTFILE_DIRS =
1051 1051
1052 1052 # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
1053 1053 # (in pixels) of the graphs generated by dot. If a graph becomes larger than
1054 1054 # this value, doxygen will try to truncate the graph, so that it fits within
1055 1055 # the specified constraint. Beware that most browsers cannot cope with very
1056 1056 # large images.
1057 1057
1058 1058 MAX_DOT_GRAPH_WIDTH = 1024
1059 1059
1060 1060 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
1061 1061 # (in pixels) of the graphs generated by dot. If a graph becomes larger than
1062 1062 # this value, doxygen will try to truncate the graph, so that it fits within
1063 1063 # the specified constraint. Beware that most browsers cannot cope with very
1064 1064 # large images.
1065 1065
1066 1066 MAX_DOT_GRAPH_HEIGHT = 1024
1067 1067
1068 1068 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
1069 1069 # graphs generated by dot. A depth value of 3 means that only nodes reachable
1070 1070 # from the root by following a path via at most 3 edges will be shown. Nodes that
1071 1071 # lay further from the root node will be omitted. Note that setting this option to
1072 1072 # 1 or 2 may greatly reduce the computation time needed for large code bases. Also
1073 1073 # note that a graph may be further truncated if the graph's image dimensions are
1074 1074 # not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
1075 1075 # If 0 is used for the depth value (the default), the graph is not depth-constrained.
1076 1076
1077 1077 MAX_DOT_GRAPH_DEPTH = 0
1078 1078
1079 1079 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
1080 1080 # generate a legend page explaining the meaning of the various boxes and
1081 1081 # arrows in the dot generated graphs.
1082 1082
1083 1083 GENERATE_LEGEND = YES
1084 1084
1085 1085 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
1086 1086 # remove the intermediate dot files that are used to generate
1087 1087 # the various graphs.
1088 1088
1089 1089 DOT_CLEANUP = YES
1090 1090
1091 1091 #---------------------------------------------------------------------------
1092 1092 # Configuration::addtions related to the search engine
1093 1093 #---------------------------------------------------------------------------
1094 1094
1095 1095 # The SEARCHENGINE tag specifies whether or not a search engine should be
1096 1096 # used. If set to NO the values of all tags below this one will be ignored.
1097 1097
1098 1098 SEARCHENGINE = NO
@@ -1,84 +1,96
1 1 /*
2 2 *
3 3 * Copyright (C) 2006 MeVis Research GmbH All Rights Reserved.
4 4 *
5 5 * This library is free software; you can redistribute it and/or
6 6 * modify it under the terms of the GNU Lesser General Public
7 7 * License as published by the Free Software Foundation; either
8 8 * version 2.1 of the License, or (at your option) any later version.
9 9 *
10 10 * This library is distributed in the hope that it will be useful,
11 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 13 * Lesser General Public License for more details.
14 14 *
15 15 * Further, this software is distributed without any warranty that it is
16 16 * free of the rightful claim of any third person regarding infringement
17 17 * or the like. Any license provided herein, whether implied or
18 18 * otherwise, applies only to this software file. Patent licenses, if
19 19 * any, provided herein do not apply to combinations of this program with
20 20 * other software, or any other product whatsoever.
21 21 *
22 22 * You should have received a copy of the GNU Lesser General Public
23 23 * License along with this library; if not, write to the Free Software
24 24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 25 *
26 26 * Contact information: MeVis Research GmbH, Universitaetsallee 29,
27 27 * 28359 Bremen, Germany or:
28 28 *
29 29 * http://www.mevis.de
30 30 *
31 31 */
32 32
33 33 //----------------------------------------------------------------------------------
34 34 /*!
35 35 // \file PythonQtObjectPtr.cpp
36 36 // \author Florian Link
37 37 // \author Last changed by $Author: florian $
38 38 // \date 2006-05
39 39 */
40 40 //----------------------------------------------------------------------------------
41 41
42 42 #include <PythonQt.h>
43 43
44 44 QVariant PythonQtObjectPtr::evalScript(const QString& script, int start)
45 45 {
46 46 return PythonQt::self()->evalScript(_object, script, start);
47 47 }
48 48
49 49 void PythonQtObjectPtr::evalFile(const QString& file)
50 50 {
51 51 PythonQt::self()->evalFile(_object, file);
52 52 }
53 53
54 54 QVariant PythonQtObjectPtr::evalCode(PyObject* pycode)
55 55 {
56 56 return PythonQt::self()->evalCode(_object, pycode);
57 57 }
58 58
59 59 void PythonQtObjectPtr::addObject(const QString& name, QObject* object)
60 60 {
61 61 PythonQt::self()->addObject(_object, name, object);
62 62 }
63 63
64 64 void PythonQtObjectPtr::addVariable(const QString& name, const QVariant& v)
65 65 {
66 66 PythonQt::self()->addVariable(_object, name, v);
67 67 }
68 68
69 69 void PythonQtObjectPtr::removeVariable(const QString& name)
70 70 {
71 71 PythonQt::self()->removeVariable(_object, name);
72 72 }
73 73
74 74 QVariant PythonQtObjectPtr::getVariable(const QString& name)
75 75 {
76 76 return PythonQt::self()->getVariable(_object, name);
77 77 }
78 78
79 79
80 80 QVariant PythonQtObjectPtr::call(const QString& callable, const QVariantList& args)
81 81 {
82 82 return PythonQt::self()->call(_object, callable, args);
83 83 }
84 84
85 bool PythonQtObjectPtr::fromVariant(const QVariant& variant)
86 {
87 if (!variant.isNull()) {
88 setObject(qVariantValue<PythonQtObjectPtr>(variant));
89 return true;
90 }
91 else {
92 setObject(0);
93 return false;
94 }
95
96 }
@@ -1,155 +1,172
1 1 #ifndef _PYTHONQTOBJECTPTR_H
2 2 #define _PYTHONQTOBJECTPTR_H
3 3
4 4 /*
5 5 *
6 6 * Copyright (C) 2006 MeVis Research GmbH All Rights Reserved.
7 7 *
8 8 * This library is free software; you can redistribute it and/or
9 9 * modify it under the terms of the GNU Lesser General Public
10 10 * License as published by the Free Software Foundation; either
11 11 * version 2.1 of the License, or (at your option) any later version.
12 12 *
13 13 * This library is distributed in the hope that it will be useful,
14 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 16 * Lesser General Public License for more details.
17 17 *
18 18 * Further, this software is distributed without any warranty that it is
19 19 * free of the rightful claim of any third person regarding infringement
20 20 * or the like. Any license provided herein, whether implied or
21 21 * otherwise, applies only to this software file. Patent licenses, if
22 22 * any, provided herein do not apply to combinations of this program with
23 23 * other software, or any other product whatsoever.
24 24 *
25 25 * You should have received a copy of the GNU Lesser General Public
26 26 * License along with this library; if not, write to the Free Software
27 27 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 28 *
29 29 * Contact information: MeVis Research GmbH, Universitaetsallee 29,
30 30 * 28359 Bremen, Germany or:
31 31 *
32 32 * http://www.mevis.de
33 33 *
34 34 */
35 35
36 36 //----------------------------------------------------------------------------------
37 37 /*!
38 38 // \file PythonQtObjectPtr.h
39 39 // \author Florian Link
40 40 // \author Last changed by $Author: florian $
41 41 // \date 2006-05
42 42 */
43 43 //----------------------------------------------------------------------------------
44 44
45 45 #include <Python.h>
46 46 #include "PythonQtSystem.h"
47 47
48 48 //! a smart pointer that stores a PyObject pointer and that handles reference counting automatically
49 49 class PYTHONQT_EXPORT PythonQtObjectPtr
50 50 {
51 51 public:
52 52 PythonQtObjectPtr():_object(NULL) {}
53 53
54 54 PythonQtObjectPtr(const PythonQtObjectPtr &p):_object(NULL) {
55 55 setObject(p.object());
56 56 }
57 57
58 //! If the given variant holds a PythonQtObjectPtr, extract the value from it and hold onto the reference. This results in an increment of the reference count.
59 PythonQtObjectPtr(const QVariant& variant):_object(NULL) {
60 fromVariant(variant);
61 }
62
58 63 PythonQtObjectPtr(PyObject* o) {
59 64 _object = o;
60 65 if (o) Py_INCREF(_object);
61 66 }
62 67
63 68 ~PythonQtObjectPtr() { if (_object) Py_DECREF(_object); }
64
69
70 //! If the given variant holds a PythonQtObjectPtr, extract the value from it and hold onto the reference. This results in an increment of the reference count.
71 bool fromVariant(const QVariant& variant);
72
65 73 PythonQtObjectPtr &operator=(const PythonQtObjectPtr &p) {
66 74 setObject(p.object());
67 75 return *this;
68 76 }
69 77
70 78 PythonQtObjectPtr &operator=(PyObject* o) {
71 79 setObject(o);
72 80 return *this;
73 81 }
74 82
83
84 PythonQtObjectPtr &operator=(const QVariant& variant) {
85 fromVariant(variant);
86 return *this;
87 }
88
89
75 90 bool operator==( const PythonQtObjectPtr &p ) const {
76 91 return object() == p.object();
77 92 }
78 93
79 94 bool operator!= ( const PythonQtObjectPtr& p ) const {
80 95 return !( *this == p );
81 96 }
82 97
83 98 bool operator==( PyObject* p ) const {
84 99 return object() == p;
85 100 }
86 101
87 102 bool operator!= ( PyObject* p ) const {
88 103 return object() != p;
89 104 }
90 105
91 106 bool isNull() const { return !object(); }
92 107
93 108 PyObject* operator->() const { return object(); }
94 109
95 110 PyObject& operator*() const { return *( object() ); }
96 111
97 112 operator PyObject*() const { return object(); }
98 113
99 114 //! sets the object and passes the ownership (stealing the reference, in Python slang)
100 115 void setNewRef(PyObject* o) {
101 116 if (o != _object) {
102 117 if (_object) Py_DECREF(_object);
103 118 _object = o;
104 119 }
105 120 }
106 121
107 122 PyObject* object() const {
108 123 return _object;
109 124 }
110 125
111 126 //! evaluates the given script code in the context of this object and returns the result value
112 127 QVariant evalScript(const QString& script, int start = Py_file_input);
113 128
114 129 //! evaluates the given code and returns the result value (use Py_Compile etc. to create pycode from string)
115 130 //! If pycode is NULL, a python error is printed.
116 131 QVariant evalCode(PyObject* pycode);
117 132
118 133 //! evaluates the given code in the context
119 134 void evalFile(const QString& filename);
120 135
121 136 //! add the given \c object to the \c module as a variable with \c name (it can be removed via clearVariable)
122 137 void addObject(const QString& name, QObject* object);
123 138
124 139 //! add the given variable to the module
125 140 void addVariable(const QString& name, const QVariant& v);
126 141
127 142 //! remove the given variable
128 143 void removeVariable(const QString& name);
129 144
130 145 //! get the variable with the \c name of the \c module, returns an invalid QVariant on error
131 146 QVariant getVariable(const QString& name);
132 147
133 148 //! call the given python object (in the scope of the current object), returns the result converted to a QVariant
134 149 QVariant call(const QString& callable, const QVariantList& args);
135 150
151
152
136 153
137 154 protected:
138 155
139 156 void setObject(PyObject* o) {
140 157 if (o != _object) {
141 158 if (_object) Py_DECREF(_object);
142 159 _object = o;
143 160 if (_object) Py_INCREF(_object);
144 161 }
145 162 }
146 163
147 164 private:
148 165 PyObject* _object;
149 166 };
150 167
151 168
152 169 // register it to the meta type system
153 170 Q_DECLARE_METATYPE(PythonQtObjectPtr)
154 171
155 172 #endif No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now