summaryrefslogtreecommitdiffstats
path: root/gui/polkittqt1-gui-actionbuttons.h
diff options
context:
space:
mode:
Diffstat (limited to 'gui/polkittqt1-gui-actionbuttons.h')
-rw-r--r--gui/polkittqt1-gui-actionbuttons.h114
1 files changed, 114 insertions, 0 deletions
diff --git a/gui/polkittqt1-gui-actionbuttons.h b/gui/polkittqt1-gui-actionbuttons.h
new file mode 100644
index 000000000..753a5e5c4
--- /dev/null
+++ b/gui/polkittqt1-gui-actionbuttons.h
@@ -0,0 +1,114 @@
+/*
+ * This file is part of the Polkit-tqt project
+ * Copyright (C) 2009 Dario Freddi <drf@kde.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef POLKITTQT1_GUI_ACTIONBUTTONS_H
+#define POLKITTQT1_GUI_ACTIONBUTTONS_H
+
+#include "polkittqt1-gui-actionbutton.h"
+
+namespace PolkitTQt1
+{
+
+namespace Gui
+{
+
+class ActionButtonsPrivate;
+/**
+ * \class ActionButtons polkittqt1-gui-actionbuttons.h ActionButtons
+ * \author Dario Freddi <drf@kde.org>
+ *
+ * \brief Class used to hold and update a list of TQAbstractButtons
+ *
+ * This class is a convenience wrapper around ActionButton that lets
+ * you associate an undefined number of TQAbstractButtons with a single
+ * action. Every button will be updated accordingly upon action's properties
+ * changes.
+ *
+ * \see ActionButton
+ */
+class ActionButtons : public ActionButton
+{
+ Q_OBJECT
+ TQ_DECLARE_PRIVATE(ActionButtons)
+ TQ_DISABLE_COPY(ActionButtons)
+
+public:
+ /**
+ * Constructs a new ActionButton. You need to pass this
+ * constructor an existing list of TQAbstractButtons, whose properties
+ * will be modified according to the underlying Action
+ * object. As ActionButtons inherits from Action, you can
+ * define your buttons' behavior right through this wrapper.
+ *
+ * \see Action
+ *
+ * \param buttons the TQAbstractButton to associate to this ActionButton
+ * \param actionId the action Id to create the underlying Action
+ * \param parent the parent object
+ */
+ explicit ActionButtons(const TQList<TQAbstractButton *> &buttons, const TQString &actionId = TQString(), TQObject *parent = 0);
+ virtual ~ActionButtons();
+
+ /**
+ * Sets a list of buttons associated to the underlying action.
+ *
+ * \note If you are calling this function, you're probably
+ * changing the buttons list the action is referring to. If this
+ * is the case, please note that Polkit-TQt does not handle
+ * the previous buttons' memory, so you should take care of
+ * deleting them yourself (if needed). You can retrieve it by
+ * using buttons()
+ *
+ * \see buttons
+ *
+ * \param buttons the new buttons associated with the underlying action
+ */
+ void setButtons(const TQList<TQAbstractButton *> &buttons);
+
+ /**
+ * Returns the current buttons list
+ *
+ * \return the buttons currently associated with the underlying action
+ */
+ TQList<TQAbstractButton *> buttons() const;
+
+ /**
+ * Adds a button to the current button list. The button's properties
+ * will be updated according to the action upon adding.
+ *
+ * \param button the button to add
+ */
+ void addButton(TQAbstractButton *button);
+
+ /**
+ * Removes a button from the current list. Please note that Polkit-TQt
+ * does not handle the removed button's memory, so you should take care of
+ * deleting it yourself (if needed).
+ *
+ * \param button the button to remove
+ */
+ void removeButton(TQAbstractButton *button);
+};
+
+}
+
+}
+
+#endif