• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

KritaWidgets

  • sources
  • kfour-appscomplete
  • krita
  • libs
  • widgets
KoDialog.h
Go to the documentation of this file.
1 /* This file is part of the KDE Librariesfsignals
2  * SPDX-FileCopyrightText: 1998 Thomas Tanghus ([email protected])
3  * SPDX-FileCopyrightText: 1999-2000 Espen Sand ([email protected])
4  * SPDX-FileCopyrightText: 1999-2000 Holger Freyther <[email protected]>
5  * SPDX-FileCopyrightText: 2005-2009 Olivier Goffart <ogoffart @ kde.org>
6  * SPDX-FileCopyrightText: 2006 Tobias Koenig <[email protected]>
7  *
8  * SPDX-License-Identifier: LGPL-2.0-or-later
9  */
10 
11 #ifndef KODIALOG_H
12 #define KODIALOG_H
13 
14 class QPushButton;
15 class QMenu;
16 class KoDialogPrivate;
17 
18 #include <kritawidgets_export.h>
19 #include <kconfiggroup.h>
20 #include <kguiitem.h>
21 
22 #include <QDialog>
23 
115 class KRITAWIDGETS_EXPORT KoDialog : public QDialog //krazy:exclude=qclasses
116 {
117  Q_OBJECT
118  Q_ENUMS(ButtonCode)
119  Q_DECLARE_PRIVATE(KoDialog)
120 
121 public:
122 
123  enum ButtonCode {
124  None = 0x00000000,
125  Help = 0x00000001,
126  Default = 0x00000002,
127  Ok = 0x00000004,
128  Apply = 0x00000008,
129  Try = 0x00000010,
130  Cancel = 0x00000020,
131  Close = 0x00000040,
132  No = 0x00000080,
133  Yes = 0x00000100,
134  Reset = 0x00000200,
135  Details = 0x00000400,
136  User1 = 0x00001000,
137  User2 = 0x00002000,
138  User3 = 0x00004000,
139  NoDefault = 0x00008000
140  };
141  // TODO KDE5: remove NoDefault and use the value None instead
142  Q_DECLARE_FLAGS(ButtonCodes, ButtonCode)
143 
144  enum ButtonPopupMode {
145  InstantPopup = 0,
146  DelayedPopup = 1
147  };
148  Q_DECLARE_FLAGS(ButtonPopupModes, ButtonPopupMode)
149 
150 public:
157  explicit KoDialog(QWidget *parent = 0, Qt::WindowFlags f = Qt::WindowFlags());
158 
162  ~KoDialog() override;
163 
179  void setButtons(ButtonCodes buttonMask);
180 
191  void setButtonsOrientation(Qt::Orientation orientation);
192 
203  void setEscapeButton(ButtonCode id);
204 
213  void setDefaultButton(ButtonCode id);
214 
219  ButtonCode defaultButton() const;
220 
225  void showButtonSeparator(bool state);
226 
237  void showButton(ButtonCode id, bool state);
238 
245  void setButtonText(ButtonCode id, const QString &text);
246 
250  QString buttonText(ButtonCode id) const;
251 
258  void setButtonIcon(ButtonCode id, const QIcon &icon);
259 
263  QIcon buttonIcon(ButtonCode id) const;
264 
271  void setButtonToolTip(ButtonCode id, const QString &text);
272 
276  QString buttonToolTip(ButtonCode id) const;
277 
284  void setButtonWhatsThis(ButtonCode id, const QString &text);
285 
289  QString buttonWhatsThis(ButtonCode id) const;
290 
300  void setButtonGuiItem(ButtonCode id, const KGuiItem &item);
301 
305  void setButtonFocus(ButtonCode id);
306 
316  void setInitialSize(const QSize &size);
317 
326  void incrementInitialSize(const QSize &size);
327 
340  QString helpLinkText() const;
341 
345  bool isButtonEnabled(ButtonCode id) const;
346 
357  QPushButton *button(ButtonCode id) const;
358 
366  static int marginHint();
367 
375  static int spacingHint();
376 
383  static int groupSpacingHint();
384 
398  enum CaptionFlag {
399  NoCaptionFlags = 0,
400  AppNameCaption = 1,
401  ModifiedCaption = 2,
402  HIGCompliantCaption = AppNameCaption
403  };
404  Q_DECLARE_FLAGS(CaptionFlags, CaptionFlag)
405 
406 
426  static QString makeStandardCaption(const QString &userCaption,
427  QWidget *window = 0,
428  CaptionFlags flags = HIGCompliantCaption);
429 
441  static void resizeLayout(QWidget *widget, int margin, int spacing);
442 
454  static void resizeLayout(QLayout *lay, int margin, int spacing);
455 
459  void setMainWidget(QWidget *widget);
460 
469  QWidget *mainWidget();
470 
474  QSize sizeHint() const override;
475 
479  QSize minimumSizeHint() const override;
480 
481 public Q_SLOTS:
491  virtual void setCaption(const QString &caption);
492 
504  virtual void setCaption(const QString &caption, bool modified);
505 
512  virtual void setPlainCaption(const QString &caption);
513 
520  void enableButton(ButtonCode id, bool state);
521 
527  void enableButtonOk(bool state);
528 
534  void enableButtonApply(bool state);
535 
541  void enableButtonCancel(bool state);
542 
552  void enableLinkedHelp(bool state);
553 
566  void setHelpLinkText(const QString &text);
567 
580  void setHelp(const QString &anchor, const QString &appname = QString());
581 
585  bool isDetailsWidgetVisible() const;
586 
590  void setDetailsWidgetVisible(bool visible);
591 
598  void setDetailsWidget(QWidget *detailsWidget);
599 
607  void delayedDestruct();
608 
609 Q_SIGNALS:
619  void layoutHintChanged();
620 
625  void helpClicked();
626 
631  void defaultClicked();
632 
637  void resetClicked();
638 
643  void user3Clicked();
644 
649  void user2Clicked();
650 
655  void user1Clicked();
656 
661  void applyClicked();
662 
667  void tryClicked();
668 
673  void okClicked();
674 
679  void yesClicked();
680 
685  void noClicked();
686 
691  void cancelClicked();
692 
697  void closeClicked();
698 
704  void buttonClicked(KoDialog::ButtonCode button);
705 
713  void hidden();
714 
729  void finished();
730 
735  void aboutToShowDetails();
736 
737 protected:
742  void hideEvent(QHideEvent *) override;
743 
750  void closeEvent(QCloseEvent *e) override;
751 
755  void keyPressEvent(QKeyEvent *) override;
756 
757 protected Q_SLOTS:
779  virtual void slotButtonClicked(int button);
780 
787  void updateGeometry();
788 
789 private:
790  KoDialog(KoDialogPrivate &dd, QWidget *parent, Qt::WindowFlags f = Qt::WindowFlags());
791  KoDialogPrivate *const d_ptr;
792 
793 private:
794  Q_DISABLE_COPY(KoDialog)
795  Q_PRIVATE_SLOT(d_ptr, void queuedLayoutUpdate())
796  Q_PRIVATE_SLOT(d_ptr, void helpLinkClicked())
797 };
798 
799 Q_DECLARE_OPERATORS_FOR_FLAGS(KoDialog::ButtonCodes)
800 Q_DECLARE_OPERATORS_FOR_FLAGS(KoDialog::CaptionFlags)
801 
802 #endif // KODIALOG_H
QWidget::setCaption
void setCaption(const QString &c)
QWidget
QMenu
QSize
QDialog::closeEvent
virtual void closeEvent(QCloseEvent *e)
KoDialog
A dialog base class with standard buttons and predefined layouts.
Definition: KoDialog.h:115
QLayout
QWidget::hideEvent
virtual void hideEvent(QHideEvent *event)
QDialog::minimumSizeHint
virtual QSize minimumSizeHint() const
QCloseEvent
QPushButton
QString
KoDialog::ButtonCode
ButtonCode
Definition: KoDialog.h:123
QHideEvent
QIcon
KoDialogPrivate
Definition: KoDialog_p.h:23
QDialog::keyPressEvent
virtual void keyPressEvent(QKeyEvent *e)
QWidget::updateGeometry
void updateGeometry()
KoDialog::CaptionFlag
CaptionFlag
Definition: KoDialog.h:398
Qt::WindowFlags
typedef WindowFlags
QKeyEvent
KoDialog::ButtonPopupMode
ButtonPopupMode
Definition: KoDialog.h:144
QDialog
QDialog::finished
void finished(int result)
QDialog::sizeHint
virtual QSize sizeHint() const
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Jan 19 2021 23:44:00 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KritaWidgets

Skip menu "KritaWidgets"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal