Hi,
It is the styling of the new widget (ButtonGroupBox). The new style is
called "button-groupbox".
in appearance, we define that the style
"button-groupbox" is "derived" from "groupbox" (that is correct because it
is a groupbox anyway)
and its legend ("button-groupbox/legend") is a button (alias) so it will
get the style of a button.
A+
On Mon, Dec 19, 2011 at 9:09 PM, Simon White <
[email protected]> wrote:
> Hi
>
> My code was almost identical. The part I did not have was the block to
> put in the appearances. Can you tell me exactly what that block does?
>
> Thanks,
> Simon
>
>
> On 19/12/2011 8:20 PM, Aiman Sawan wrote:
> > Hi,
> >
> > Here is what I am using in my project:
> >
> > first, define in your project the class ButtonGroupBox.js (source are
> > bellow - adjust the package name) which is highly inspired from
> > CheckGroupBox.js. this is why I left original notice.
> >
> > then, add the following block to Appearance.js (into appearances {}
> > object) of your project:
> >
> > *"button-groupbox" : "groupbox",
> > "button-groupbox/legend" : {
> > alias : "button",
> > include : "button"
> > }*
> >
> > ======
> >
> > *ButtonGroupBox.js*:
> >
> >
> /*******************************************************************************
> > *
> > * qooxdoo - the new era of web development
> > *
> > * http://qooxdoo.org
> > *
> > * Copyright: 2004-2008 1&1 Internet AG, Germany, http://www.1und1.de
> > *
> > * License: LGPL: http://www.gnu.org/licenses/lgpl.html EPL:
> > * http://www.eclipse.org/org/documents/epl-v10.php See the LICENSE
> > file in the
> > * project's top-level directory for details.
> > *
> > * Authors: Sebastian Werner (wpbasti) Andreas Ecker (ecker) Martin
> > Wittemann
> > * (martinwittemann)
> > *
> >
> ******************************************************************************/
> >
> >
> > /**
> > * A group box, which has a button as a legend.
> > * It is highly inspired from qx.ui.groupbox.CheckGroupBox.js
> > *
> > * Authors: Aiman Sawan
> > *
> > * @childControl legend {qx.ui.form.Button} button
> > */
> >
> > qx.Class.define("butor.control.ButtonGroupBox", {
> > extend : qx.ui.groupbox.GroupBox,
> > implement : [qx.ui.form.IExecutable, qx.ui.form.IModel],
> > include : [qx.ui.form.MModelProperty],
> >
> > properties : {
> > // overridden
> > appearance : {
> > refine : true,
> > init : "button-groupbox"
> > }
> > },
> >
> > events : {
> > /** Fired if the {@link #execute} method is invoked. */
> > "execute" : "qx.event.type.Event"
> > },
> >
> > members : {
> > /*
> > *
> >
> ---------------------------------------------------------------------------
> > * WIDGET API
> > *
> >
> ---------------------------------------------------------------------------
> > */
> >
> > // overridden
> > _createChildControlImpl : function(id, hash) {
> > var control;
> >
> > switch (id) {
> > case "legend" :
> > control = new qx.ui.form.Button();
> > control.setLabel("");
> > control.setAllowGrowX(false);
> > control.addListener("resize",
> > this._repositionFrame, this);
> > control.addListener("execute", this._onExecute,
> > this);
> >
> > this._add(control, {
> > left : 0
> > });
> > }
> >
> > return control || this.base(arguments, id);
> > },
> >
> > /*
> > *
> >
> ---------------------------------------------------------------------------
> > * EVENT LISTENERS
> > *
> >
> ---------------------------------------------------------------------------
> > */
> >
> > /**
> > * Event listener for execute event of checkbox.
> > *
> > * @param e
> > * {qx.event.type.Event} Event which holds the
> > * current status
> > */
> > _onExecute : function(e) {
> > this.fireEvent("execute");
> > },
> >
> > /*
> > *
> >
> ---------------------------------------------------------------------------
> > * REDIRECTIONS TO LEGEND (CHECKBOX COMPATIBILITY MODE)
> > *
> >
> ---------------------------------------------------------------------------
> > */
> >
> > // interface implementation
> > execute : function() {
> > this.getChildControl("legend").execute();
> > },
> >
> > // interface implementation
> > setCommand : function(command) {
> > this.getChildControl("legend").setCommand(command);
> > },
> >
> > // interface implementation
> > getCommand : function() {
> > return this.getChildControl("legend").getCommand();
> > },
> >
> > /**
> > * The label of the groupbox.
> > *
> > * @return {String}
> > */
> > getLabel : function() {
> > return this.getChildControl("legend").getLabel();
> > },
> >
> > /**
> > * Configures the label of the groupbox.
> > *
> > * @param value
> > * {Boolean} <code>true</code> when enabled.
> > */
> > setLabel : function(label) {
> > this.getChildControl("legend").setLabel(label);
> > },
> >
> > /**
> > * The icon of the groupbox.
> > *
> > * @return {String}
> > */
> > getIcon : function() {
> > return this.getChildControl("legend").getIcon();
> > },
> >
> > /**
> > * Configures the icon of the groupbox.
> > *
> > * @param icon
> > * {String} <code>true</code> when enabled.
> > */
> > setIcon : function(icon) {
> > this.getChildControl("legend").setIcon(icon);
> > }
> > }
> > });
> >
> > ============
> >
> > usage:
> > ...
> > var userInfoGB = new *butor.control.ButtonGroupBox*(this.tr
> > <http://this.tr>('Preview >>'));
> > userInfoGB.setLayout(new qx.ui.layout.VBox(5));
> > userInfoGB.add(...)
> > userInfoGB.addListener('execute', this.__togglePreview, this);
> > ...
> >
> > ======
> >
> > A+
> >
> > On Mon, Dec 19, 2011 at 5:59 PM, Simon White
> > <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> > Hi
> >
> > I have been trying to modify the GroupBox so that instead of an Atom
> for
> > the legend is has a button that you can click to execute some code.
> > Does anyone have a working example they could share?
> >
> > Thanks,
> > Simon
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Write once. Port to many.
> > Get the SDK and tools to simplify cross-platform app development.
> Create
> > new or port existing apps to sell to consumers worldwide. Explore the
> > Intel AppUpSM program developer opportunity.
> > appdeveloper.intel.com/join <http://appdeveloper.intel.com/join>
> > http://p.sf.net/sfu/intel-appdev
> > _______________________________________________
> > qooxdoo-devel mailing list
> > [email protected]
> > <mailto:[email protected]>
> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >
> >
> >
> >
> > --
> > <!--
> > Aiman Sawan
> > http://www.butor.com/
> > It's simple to make things. It's hard to make things simple.
> > -->
> >
> >
> >
> ------------------------------------------------------------------------------
> > Write once. Port to many.
> > Get the SDK and tools to simplify cross-platform app development. Create
> > new or port existing apps to sell to consumers worldwide. Explore the
> > Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> > http://p.sf.net/sfu/intel-appdev
> >
> >
> >
> > _______________________________________________
> > qooxdoo-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
>
>
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
--
<!--
Aiman Sawan
http://www.butor.com/
It's simple to make things. It's hard to make things simple.
-->
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel