1{ 2 "module": "widgets", 3 "depends": [ 4 "core-private", 5 "gui" 6 ], 7 "testDir": "../../config.tests", 8 9 "commandline": { 10 "options": { 11 "gtk": { "type": "boolean", "name": "gtk3" }, 12 "style-windows": "boolean", 13 "style-windowsvista": "boolean", 14 "style-fusion": "boolean", 15 "style-mac": "boolean", 16 "style-android": "boolean" 17 } 18 }, 19 20 "libraries": { 21 "gtk3": { 22 "label": "GTK+ >= 3.6", 23 "sources": [ 24 { "type": "pkgConfig", "args": "gtk+-3.0 >= 3.6" } 25 ] 26 } 27 }, 28 29 "tests": { 30 "uxtheme": { 31 "label": "uxtheme.h", 32 "type": "files", 33 "files": [ "uxtheme.h" ] 34 } 35 }, 36 37 "features": { 38 "gtk3": { 39 "label": "GTK+", 40 "autoDetect": "!config.darwin", 41 "condition": "features.glib && libs.gtk3", 42 "output": [ "privateFeature" ] 43 }, 44 "style-fusion": { 45 "label": "Fusion", 46 "output": [ "privateFeature", "styles" ] 47 }, 48 "style-mac": { 49 "label": "macOS", 50 "condition": "config.osx && features.animation", 51 "output": [ "privateFeature", "styles" ] 52 }, 53 "style-windows": { 54 "label": "Windows", 55 "output": [ "privateFeature", "styles" ] 56 }, 57 "style-windowsvista": { 58 "label": "WindowsVista", 59 "condition": "features.style-windows && features.animation && config.win32 && !config.winrt && tests.uxtheme", 60 "output": [ "privateFeature", "styles" ] 61 }, 62 "style-android": { 63 "label": "Android", 64 "autoDetect": "config.android", 65 "output": [ "privateFeature", "styles" ] 66 }, 67 "style-stylesheet": { 68 "label": "QStyleSheetStyle", 69 "purpose": "Provides a widget style which is configurable via CSS.", 70 "section": "Styles", 71 "condition": "features.style-windows && features.properties && features.cssparser", 72 "output": [ "publicFeature", "feature" ] 73 }, 74 "effects": { 75 "label": "Effects", 76 "purpose": "Provides special widget effects (e.g. fading and scrolling).", 77 "section": "Kernel", 78 "output": [ "privateFeature" ] 79 }, 80 "filesystemmodel": { 81 "label": "QFileSystemModel", 82 "purpose": "Provides a data model for the local filesystem.", 83 "section": "File I/O", 84 "condition": "features.itemmodel", 85 "output": [ "publicFeature", "feature" ] 86 }, 87 "itemviews": { 88 "label": "The Model/View Framework", 89 "purpose": "Provides the model/view architecture managing the relationship between data and the way it is presented to the user.", 90 "section": "ItemViews", 91 "condition": "features.itemmodel && features.scrollarea", 92 "output": [ "publicFeature", "feature" ] 93 }, 94 "treewidget": { 95 "label": "QTreeWidget", 96 "purpose": "Provides views using tree models.", 97 "section": "Widgets", 98 "condition": "features.treeview", 99 "output": [ "publicFeature", "feature" ] 100 }, 101 "listwidget": { 102 "label": "QListWidget", 103 "purpose": "Provides item-based list widgets.", 104 "section": "Widgets", 105 "condition": "features.listview", 106 "output": [ "publicFeature", "feature" ] 107 }, 108 "tablewidget": { 109 "label": "QTableWidget", 110 "purpose": "Provides item-based table views.", 111 "section": "Widgets", 112 "condition": "features.tableview", 113 "output": [ "publicFeature", "feature" ] 114 }, 115 "abstractbutton": { 116 "label": "QAbstractButton", 117 "purpose": "Abstract base class of button widgets, providing functionality common to buttons.", 118 "section": "Widgets", 119 "output": [ "publicFeature" ] 120 }, 121 "commandlinkbutton": { 122 "label": "QCommandLinkButton", 123 "purpose": "Provides a Vista style command link button.", 124 "section": "Widgets", 125 "condition": "features.pushbutton", 126 "output": [ "publicFeature" ] 127 }, 128 "datetimeedit": { 129 "label": "QDateTimeEdit", 130 "purpose": "Supports editing dates and times.", 131 "section": "Widgets", 132 "condition": "features.calendarwidget && features.datestring && features.textdate && features.datetimeparser", 133 "output": [ "publicFeature", "feature" ] 134 }, 135 "stackedwidget": { 136 "label": "QStackedWidget", 137 "purpose": "Provides stacked widgets.", 138 "section": "Widgets", 139 "output": [ "publicFeature", "feature" ] 140 }, 141 "textbrowser": { 142 "label": "QTextBrowser", 143 "purpose": "Supports HTML document browsing.", 144 "section": "Widgets", 145 "condition": "features.textedit", 146 "output": [ "publicFeature", "feature" ] 147 }, 148 "splashscreen": { 149 "label": "QSplashScreen", 150 "purpose": "Supports splash screens that can be shown during application startup.", 151 "section": "Widgets", 152 "output": [ "publicFeature", "feature" ] 153 }, 154 "splitter": { 155 "label": "QSplitter", 156 "purpose": "Provides user controlled splitter widgets.", 157 "section": "Widgets", 158 "output": [ "publicFeature", "feature" ] 159 }, 160 "widgettextcontrol": { 161 "label": "QWidgetTextControl", 162 "purpose": "Provides text control functionality to other widgets.", 163 "section": "Widgets", 164 "output": [ "privateFeature" ] 165 }, 166 "label": { 167 "label": "QLabel", 168 "purpose": "Provides a text or image display.", 169 "section": "Widgets", 170 "condition": "features.widgettextcontrol", 171 "output": [ "publicFeature" ] 172 }, 173 "formlayout": { 174 "label": "QFormLayout", 175 "purpose": "Manages forms of input widgets and their associated labels.", 176 "section": "Widgets", 177 "condition": "features.label", 178 "output": [ "publicFeature" ] 179 }, 180 "lcdnumber": { 181 "label": "QLCDNumber", 182 "purpose": "Provides LCD-like digits.", 183 "section": "Widgets", 184 "output": [ "publicFeature", "feature" ] 185 }, 186 "menu": { 187 "label": "QMenu", 188 "purpose": "Provides popup-menus.", 189 "section": "Widgets", 190 "condition": "features.action && features.pushbutton", 191 "output": [ "publicFeature", "feature" ] 192 }, 193 "lineedit": { 194 "label": "QLineEdit", 195 "purpose": "Provides single-line edits.", 196 "section": "Widgets", 197 "condition": "features.widgettextcontrol", 198 "output": [ "publicFeature", "feature" ] 199 }, 200 "radiobutton": { 201 "label": "QRadioButton", 202 "purpose": "Provides a radio button with a text label.", 203 "section": "Widgets", 204 "condition": "features.abstractbutton", 205 "output": [ "publicFeature" ] 206 }, 207 "spinbox": { 208 "label": "QSpinBox", 209 "purpose": "Provides spin boxes handling integers and discrete sets of values.", 210 "section": "Widgets", 211 "condition": "features.lineedit && features.validator", 212 "output": [ "publicFeature", "feature" ] 213 }, 214 "tabbar": { 215 "label": "QTabBar", 216 "purpose": "Provides tab bars, e.g., for use in tabbed dialogs.", 217 "section": "Widgets", 218 "condition": "features.toolbutton", 219 "output": [ "publicFeature", "feature" ] 220 }, 221 "tabwidget": { 222 "label": "QTabWidget", 223 "purpose": "Supports stacking tabbed widgets.", 224 "section": "Widgets", 225 "condition": "features.tabbar && features.stackedwidget", 226 "output": [ "publicFeature", "feature" ] 227 }, 228 "combobox": { 229 "label": "QComboBox", 230 "purpose": "Provides drop-down boxes presenting a list of options to the user.", 231 "section": "Widgets", 232 "condition": "features.lineedit && features.standarditemmodel && features.listview", 233 "output": [ "publicFeature", "feature" ] 234 }, 235 "fontcombobox": { 236 "label": "QFontComboBox", 237 "purpose": "Provides a combobox that lets the user select a font family.", 238 "section": "Widgets", 239 "condition": "features.combobox && features.stringlistmodel", 240 "output": [ "publicFeature", "feature" ] 241 }, 242 "checkbox": { 243 "label": "QCheckBox(", 244 "purpose": "Provides a checkbox with a text label.", 245 "section": "Widgets", 246 "condition": "features.abstractbutton", 247 "output": [ "publicFeature" ] 248 }, 249 "pushbutton": { 250 "label": "QPushButton", 251 "purpose": "Provides a command button.", 252 "section": "Widgets", 253 "condition": "features.abstractbutton && features.action", 254 "output": [ "publicFeature" ] 255 }, 256 "toolbutton": { 257 "label": "QToolButton", 258 "purpose": "Provides quick-access buttons to commands and options.", 259 "section": "Widgets", 260 "condition": "features.abstractbutton && features.action", 261 "output": [ "publicFeature", "feature" ] 262 }, 263 "toolbar": { 264 "label": "QToolBar", 265 "purpose": "Provides movable panels containing a set of controls.", 266 "section": "Widgets", 267 "condition": "features.mainwindow", 268 "output": [ "publicFeature", "feature" ] 269 }, 270 "toolbox": { 271 "label": "QToolBox", 272 "purpose": "Provides columns of tabbed widget items.", 273 "section": "Widgets", 274 "condition": "features.toolbutton && features.scrollarea", 275 "output": [ "publicFeature", "feature" ] 276 }, 277 "groupbox": { 278 "label": "QGroupBox", 279 "purpose": "Provides widget grouping boxes with frames.", 280 "section": "Widgets", 281 "output": [ "publicFeature", "feature" ] 282 }, 283 "buttongroup": { 284 "label": "QButtonGroup", 285 "purpose": "Supports organizing groups of button widgets.", 286 "section": "Widgets", 287 "condition": "features.abstractbutton && features.groupbox", 288 "output": [ "publicFeature", "feature" ] 289 }, 290 "mainwindow": { 291 "label": "QMainWindow", 292 "purpose": "Provides main application windows.", 293 "section": "Widgets", 294 "condition": "features.menu && features.resizehandler && features.toolbutton", 295 "output": [ "publicFeature", "feature" ] 296 }, 297 "dockwidget": { 298 "label": "QDockwidget", 299 "purpose": "Supports docking widgets inside a QMainWindow or floated as a top-level window on the desktop.", 300 "section": "Widgets", 301 "condition": "features.mainwindow", 302 "output": [ "publicFeature", "feature" ] 303 }, 304 "mdiarea": { 305 "label": "QMdiArea", 306 "purpose": "Provides an area in which MDI windows are displayed.", 307 "section": "Widgets", 308 "condition": "features.scrollarea", 309 "output": [ "publicFeature", "feature" ] 310 }, 311 "resizehandler": { 312 "label": "QWidgetResizeHandler", 313 "purpose": "Provides an internal resize handler for dock widgets.", 314 "section": "Widgets", 315 "output": [ "publicFeature", "feature" ] 316 }, 317 "statusbar": { 318 "label": "QStatusBar", 319 "purpose": "Supports presentation of status information.", 320 "section": "Widgets", 321 "output": [ "publicFeature", "feature" ] 322 }, 323 "menubar": { 324 "label": "QMenuBar", 325 "purpose": "Provides pull-down menu items.", 326 "section": "Widgets", 327 "condition": "features.menu && features.toolbutton", 328 "output": [ "publicFeature", "feature" ] 329 }, 330 "contextmenu": { 331 "label": "Context menus", 332 "purpose": "Adds pop-up menus on right mouse click to numerous widgets.", 333 "section": "Widgets", 334 "condition": "features.menu", 335 "output": [ "publicFeature", "feature" ] 336 }, 337 "progressbar": { 338 "label": "QProgressBar", 339 "purpose": "Supports presentation of operation progress.", 340 "section": "Widgets", 341 "output": [ "publicFeature", "feature" ] 342 }, 343 "abstractslider": { 344 "label": "QAbstractSlider", 345 "purpose": "Common super class for widgets like QScrollBar, QSlider and QDial.", 346 "section": "Widgets", 347 "output": [ "publicFeature" ] 348 }, 349 "slider": { 350 "label": "QSlider", 351 "purpose": "Provides sliders controlling a bounded value.", 352 "section": "Widgets", 353 "condition": "features.abstractslider", 354 "output": [ "publicFeature", "feature" ] 355 }, 356 "scrollbar": { 357 "label": "QScrollBar", 358 "purpose": "Provides scrollbars allowing the user access parts of a document that is larger than the widget used to display it.", 359 "section": "Widgets", 360 "condition": "features.slider", 361 "output": [ "publicFeature", "feature" ] 362 }, 363 "dial": { 364 "label": "QDial", 365 "purpose": "Provides a rounded range control, e.g., like a speedometer.", 366 "section": "Widgets", 367 "condition": "features.slider", 368 "output": [ "publicFeature", "feature" ] 369 }, 370 "scrollarea": { 371 "label": "QScrollArea", 372 "purpose": "Supports scrolling views onto widgets.", 373 "section": "Widgets", 374 "condition": "features.scrollbar", 375 "output": [ "publicFeature", "feature" ] 376 }, 377 "scroller": { 378 "label": "QScroller", 379 "purpose": "Enables kinetic scrolling for any scrolling widget or graphics item.", 380 "section": "Widgets", 381 "condition": "features.easingcurve", 382 "output": [ "publicFeature" ] 383 }, 384 "graphicsview": { 385 "label": "QGraphicsView", 386 "purpose": "Provides a canvas/sprite framework.", 387 "section": "Widgets", 388 "condition": "features.scrollarea && features.widgettextcontrol", 389 "output": [ "publicFeature", "feature" ] 390 }, 391 "graphicseffect": { 392 "label": "QGraphicsEffect", 393 "purpose": "Provides various graphics effects.", 394 "section": "Widgets", 395 "condition": "features.graphicsview", 396 "output": [ "publicFeature", "feature" ] 397 }, 398 "textedit": { 399 "label": "QTextEdit", 400 "purpose": "Supports rich text editing.", 401 "section": "Widgets", 402 "condition": "features.scrollarea && features.properties && features.widgettextcontrol", 403 "output": [ "publicFeature", "feature" ] 404 }, 405 "syntaxhighlighter": { 406 "label": "QSyntaxHighlighter", 407 "purpose": "Supports custom syntax highlighting.", 408 "section": "Widgets", 409 "condition": "features.textedit", 410 "output": [ "publicFeature", "feature" ] 411 }, 412 "rubberband": { 413 "label": "QRubberBand", 414 "purpose": "Supports using rubberbands to indicate selections and boundaries.", 415 "section": "Widgets", 416 "output": [ "publicFeature", "feature" ] 417 }, 418 "tooltip": { 419 "label": "QToolTip", 420 "purpose": "Supports presentation of tooltips.", 421 "section": "Widgets", 422 "condition": "features.label", 423 "output": [ "publicFeature", "feature" ] 424 }, 425 "statustip": { 426 "label": "Status Tip", 427 "purpose": "Supports status tip functionality and events.", 428 "section": "Widgets", 429 "output": [ "publicFeature", "feature" ] 430 }, 431 "sizegrip": { 432 "label": "QSizeGrip", 433 "purpose": "Provides corner-grips for resizing top-level windows.", 434 "section": "Widgets", 435 "output": [ "publicFeature", "feature" ] 436 }, 437 "calendarwidget": { 438 "label": "QCalendarWidget", 439 "purpose": "Provides a monthly based calendar widget allowing the user to select a date.", 440 "section": "Widgets", 441 "condition": [ 442 "features.label", 443 "features.menu", 444 "features.pushbutton", 445 "features.spinbox", 446 "features.tableview", 447 "features.textdate", 448 "features.toolbutton" 449 ], 450 "output": [ "publicFeature", "feature" ] 451 }, 452 "keysequenceedit": { 453 "label": "QKeySequenceEdit", 454 "purpose": "Provides a widget for editing QKeySequences.", 455 "section": "Widgets", 456 "condition": "features.lineedit && features.shortcut", 457 "output": [ "publicFeature", "feature" ] 458 }, 459 "dialog" : { 460 "label": "QDialog", 461 "purpose": "Base class of dialog windows.", 462 "section": "Dialogs", 463 "output": [ "publicFeature" ] 464 }, 465 "dialogbuttonbox": { 466 "label": "QDialogButtonBox", 467 "purpose": "Presents buttons in a layout that is appropriate for the current widget style.", 468 "section": "Dialogs", 469 "condition": "features.dialog && features.pushbutton", 470 "output": [ "publicFeature" ] 471 }, 472 "messagebox": { 473 "label": "QMessageBox", 474 "purpose": "Provides message boxes displaying informative messages and simple questions.", 475 "section": "Dialogs", 476 "condition" : [ 477 "features.checkbox", 478 "features.dialog", 479 "features.dialogbuttonbox", 480 "features.label", 481 "features.pushbutton" 482 ], 483 "output": [ "publicFeature", "feature" ] 484 }, 485 "colordialog": { 486 "label": "QColorDialog", 487 "purpose": "Provides a dialog widget for specifying colors.", 488 "section": "Dialogs", 489 "condition": [ 490 "features.dialog", 491 "features.dialogbuttonbox", 492 "features.label", 493 "features.pushbutton", 494 "features.spinbox" 495 ], 496 "output": [ "publicFeature", "feature" ] 497 }, 498 "filedialog": { 499 "label": "QFileDialog", 500 "purpose": "Provides a dialog widget for selecting files or directories.", 501 "section": "Dialogs", 502 "condition": [ 503 "features.buttongroup", 504 "features.combobox", 505 "features.dialog", 506 "features.dialogbuttonbox", 507 "features.dirmodel", 508 "features.label", 509 "features.proxymodel", 510 "features.splitter", 511 "features.stackedwidget", 512 "features.treeview", 513 "features.toolbutton" 514 ], 515 "output": [ "publicFeature", "feature" ] 516 }, 517 "fontdialog": { 518 "label": "QFontDialog", 519 "purpose": "Provides a dialog widget for selecting fonts.", 520 "section": "Dialogs", 521 "condition": [ 522 "features.checkbox", 523 "features.combobox", 524 "features.dialog", 525 "features.dialogbuttonbox", 526 "features.groupbox", 527 "features.label", 528 "features.pushbutton", 529 "features.stringlistmodel", 530 "features.validator" 531 ], 532 "output": [ "publicFeature", "feature" ] 533 }, 534 "progressdialog": { 535 "label": "QProgressDialog", 536 "purpose": "Provides feedback on the progress of a slow operation.", 537 "section": "Dialogs", 538 "condition": [ 539 "features.dialog", 540 "features.label", 541 "features.pushbutton", 542 "features.progressbar" 543 ], 544 "output": [ "publicFeature", "feature" ] 545 }, 546 "inputdialog": { 547 "label": "QInputDialog", 548 "purpose": "Provides a simple convenience dialog to get a single value from the user.", 549 "section": "Dialogs", 550 "condition": [ 551 "features.combobox", 552 "features.dialog", 553 "features.dialogbuttonbox", 554 "features.label", 555 "features.pushbutton", 556 "features.spinbox", 557 "features.stackedwidget", 558 "features.textedit" 559 ], 560 "output": [ "publicFeature", "feature" ] 561 }, 562 "errormessage": { 563 "label": "QErrorMessage", 564 "purpose": "Provides an error message display dialog.", 565 "section": "Dialogs", 566 "condition": [ 567 "features.checkbox", 568 "features.dialog", 569 "features.textedit", 570 "features.label", 571 "features.pushbutton", 572 "features.textedit" 573 ], 574 "output": [ "publicFeature", "feature" ] 575 }, 576 "wizard": { 577 "label": "QWizard", 578 "purpose": "Provides a framework for multi-page click-through dialogs.", 579 "section": "Dialogs", 580 "condition": [ 581 "features.dialog", 582 "features.pushbutton", 583 "features.properties", 584 "features.label" 585 ], 586 "output": [ "publicFeature", "feature" ] 587 }, 588 "dirmodel": { 589 "label": "QDirModel", 590 "purpose": "Provides a data model for the local filesystem.", 591 "section": "ItemViews", 592 "condition": "features.itemviews && features.filesystemmodel", 593 "output": [ "publicFeature", "feature" ] 594 }, 595 "listview": { 596 "label": "QListView", 597 "purpose": "Provides a list or icon view onto a model.", 598 "section": "ItemViews", 599 "condition": "features.itemviews", 600 "output": [ "publicFeature", "feature" ] 601 }, 602 "tableview": { 603 "label": "QTableView", 604 "purpose": "Provides a default model/view implementation of a table view.", 605 "section": "ItemViews", 606 "condition": "features.itemviews", 607 "output": [ "publicFeature", "feature" ] 608 }, 609 "treeview": { 610 "label": "QTreeView", 611 "purpose": "Provides a default model/view implementation of a tree view.", 612 "section": "ItemViews", 613 "condition": "features.itemviews", 614 "output": [ "publicFeature", "feature" ] 615 }, 616 "datawidgetmapper": { 617 "label": "QDataWidgetMapper", 618 "purpose": "Provides mapping between a section of a data model to widgets.", 619 "section": "ItemViews", 620 "condition": "features.itemviews && features.properties", 621 "output": [ "publicFeature", "feature" ] 622 }, 623 "columnview": { 624 "label": "QColumnView", 625 "purpose": "Provides a model/view implementation of a column view.", 626 "section": "ItemViews", 627 "condition": "features.listview", 628 "output": [ "publicFeature", "feature" ] 629 }, 630 "completer": { 631 "label": "QCompleter", 632 "purpose": "Provides completions based on an item model.", 633 "section": "Utilities", 634 "condition": "features.proxymodel && features.itemviews", 635 "output": [ "publicFeature", "feature" ] 636 }, 637 "fscompleter": { 638 "label": "QFSCompleter", 639 "purpose": "Provides file name completion in QFileDialog.", 640 "section": "Utilities", 641 "condition": "features.filesystemmodel && features.completer", 642 "output": [ "publicFeature", "feature" ] 643 }, 644 "undocommand": { 645 "label": "QUndoCommand", 646 "purpose": "Applies (redo or) undo of a single change in a document.", 647 "section": "Utilities", 648 "output": [ "publicFeature", "feature" ] 649 }, 650 "undostack": { 651 "label": "QUndoStack", 652 "purpose": "Provides the ability to (redo or) undo a list of changes in a document.", 653 "section": "Utilities", 654 "condition": "features.undocommand", 655 "output": [ "publicFeature", "feature" ] 656 }, 657 "undogroup": { 658 "label": "QUndoGroup", 659 "purpose": "Provides the ability to cluster QUndoCommands.", 660 "section": "Utilities", 661 "condition": "features.undostack", 662 "output": [ "publicFeature", "feature" ] 663 }, 664 "undoview": { 665 "label": "QUndoView", 666 "purpose": "Provides a widget which shows the contents of an undo stack.", 667 "section": "Utilities", 668 "condition": "features.undostack && features.listview", 669 "output": [ "publicFeature", "feature" ] 670 } 671 }, 672 673 "report": [ 674 ], 675 676 "summary": [ 677 { 678 "section": "Qt Widgets", 679 "entries": [ 680 "gtk3", 681 { 682 "message": "Styles", 683 "type": "featureList", 684 "args": "style-fusion style-mac style-windows style-windowsvista style-android" 685 } 686 ] 687 } 688 ] 689} 690