New Candy Lib: Widget Candy for Corona

Hi folks, just to let you know that a new Candy library is out now:

Brief Description
Widget Candy is a lightning fast, professional GUI extension to add all kind of graphical user interfaces to your apps and games. It includes buttons, checkboxes, radio buttons, sliders, scrolling lists, wrapping texts, text labels, input texts, on/off switches, alert boxes, confirmation dialogs -and even draggable windows. All easy to use and created with a few lines of code only!
Widget Candy gives you full control over the look and feel of your app. All widgets are fully customizable, you can use an unlimited amount of different themes to skin your app’s buttons, sliders, lists and windows -you can even use different themes (skins) at once, or swap themes or theme colors in realtime to switch the complete look of your app within a second!

Widgets Included
· Buttons
· Toggle Buttons
· Icon Buttons
· Checkboxes
· Radio Buttons
· Lists
· Progress Bars
· Sliders
· Labels
· Wrapping Texts
· Input Texts
· Borders
· Switches
· Draggable Windows
· More to be added with upcoming updates

Performance
Widget Candy uses Corona’s OpenGL accelerated image sheets (although is also backward compatible with previous versions of Corona), as well as optimized texture atlas techniques to minimize texture swaps wherever possible to ensure the best possible performance.

Themes
Widget Candy comes with several basic themes that can be customized either by editing the widget graphic sheet (all widgets are placed on a single image sheet) or just by editing a theme’s settings file (there you can edit all colors, margins, fonts, font sizes etc. to your need). You can apply a different theme to each individual widget, you can also apply different text colors etc. to widgets individually, so Widget Candy is highly customizable.

Automated Widget Layout
Widget Candy comes with a powerful, automated layout system to arrange your widgets automatically inside a window widget, for example. There is no need to fiddle with widget coordinates, Widget Candy will do this for you. Each widget’s position, as well as it’s width and height, can be set to percentage values (which are either referring to the screen size or a parent window’s size). Additionally, automatic widget alignment allows you to use “left”, “center” or “right” as a widget’s x-position, for example to automatically place it on the left or right border of the screen (or a parent window) or to center it for you. You even don’t need to specify any coords at all for your widgets, simply place them inside a window widget and let Widget Candy layout them automatically for you. Layouting an interface has never been easier!

Bundle Offer
The Candy tools bundle offer (purchase one, get the other ones half off) has been extended to include the new library as well. This means you are able to enter your personal coupon code to activate your personal 50% off discount. Please make sure that the reduced price is displayed on the PayPal order page before confirming your order.

Videos
Features Tour | Themes Overview

Detailed Info & Reference
Widget Candy Website

As always, feedback is highly appreciated. Please let us know if you have any suggestions,questions or ideas.


[import]uid: 10504 topic_id: 25953 reply_id: 325953[/import]

Really nice looking one!
I like it… :wink:

[import]uid: 9592 topic_id: 25953 reply_id: 105047[/import]

bought it;) [import]uid: 86417 topic_id: 25953 reply_id: 105050[/import]

Looks cool!

I’ve got a question. If we’d already bought Particle Candy or Text Candy, will we get Widget Candy for half the price??? [import]uid: 64174 topic_id: 25953 reply_id: 105051[/import]

Sure. As written above, just enter your personal coupon code on the download page (the code you received with our transaction notification email after purchasing Text Candy or Particle Candy). Make sure that the reduced price is displayed on the PayPal order page then before completing your order. If this does not work for whatever reason, just contact us ( support [at] x-pressive.com ). [import]uid: 10504 topic_id: 25953 reply_id: 105053[/import]

cool plugin!

What is the idea when using with director and changing between scenes?

I get:

Widget name ‘toScene2’ is already in use. Try a unique one.

when I go back to scene 1.

When I check for toSene2 first, then of course button is not displayed when re-entering scene 1.

Not sure how to handle that in the best way, thanks for advice!
[import]uid: 109677 topic_id: 25953 reply_id: 105057[/import]

Great work!!!
Well Done!!!
Very nice!!!
[import]uid: 70114 topic_id: 25953 reply_id: 105060[/import]

[lua]Widget name ‘toScene2’ is already in use[/lua]
This means you are trying to create a widget using a widget name that already exists (widget names should be unique). Please make sure that you do no try to create the same widget twice. You MUST also remove GUI objects explicitly (using MyWidget:destroy() or GUI.RemoveAllWidgets) because there is data associated with them. Director probably tries to remove them just using :removeSelf which is NOT enough. The widget still remains in memory then.

So, when using Director, you should create your Director scene first, THEN create any GUI objects. When leaving your scene, you should destroy GUI objects first, THEN calling Director’s scene change function to keep Director away from manipulating the objects in any way. It is also strongly recommended to use Corona’s Storyboard here instead of Director (we’ll upload a Storyboard sample with the next days to demonstrate this).

[import]uid: 10504 topic_id: 25953 reply_id: 105059[/import]

Thanks, got it to work now.

The storyboard example will be nice to have. [import]uid: 109677 topic_id: 25953 reply_id: 105063[/import]

Nice!

This is really what i’m looking for.

The kids will go early to bed tonight…dad has some coding to do. :wink:
[import]uid: 106768 topic_id: 25953 reply_id: 105070[/import]

@x-pressive.com: Obviously I bought! (thanks for the discount:)

It is just amazing. One the most difficult part of making an app is to deal with graphics like UI. This is just a PERFECT solution. I have couple of questions if I may.

1- A Director simple example will be great.

2- I am assuming that toggle button can only have two states correct? I am thinking for instance a button that would allow game level setting such as “easy”, “medium” and “hard” Of course I could simply use radio buttons. Just curious.
Anyway congrats for another hit in the Candy series!

Mo [import]uid: 100814 topic_id: 25953 reply_id: 105083[/import]

@x-pressive.com: How about a Social/Monitization Candy?

  • Twitter, Facebook, Email/sms integration
  • Game Net, OF
  • in-app purchase
  • ads integration

Of course they are a lot of info here about all these subjects but “easy way” library in the great tradition of the Candy series would be wonderful.
Not sure how doable it will be but just a suggestion;)

Mo [import]uid: 100814 topic_id: 25953 reply_id: 105089[/import]

@x-pressive: Man, it`s just EXCELLENT!

Thanks for thinking about Devs like me that look forward business apps and not games.

This widgets are amazing. :slight_smile:
Insta-buy isn`t it?
Cheers,
Rodrigo. [import]uid: 89165 topic_id: 25953 reply_id: 105093[/import]

Rodrigo -yes, you can download the library once the transaction process is complete -this sometimes takes a couple of minutes only, sometimes an hour or so (depends on PayPal services). However, please make sure to also check your spam folder after the transaction since you receive a notification email from us that contains a personal bundle coupon code.

@Laird Games:

1- A Director simple example will be great.

2- I am assuming that toggle button can only have two states correct? I am thinking for instance a button that would allow game level setting such as “easy”, “medium” and “hard” Of course I could simply use radio buttons. Just curious.

1- We recommend using Corona Storyboard (sample coming soon) not only because it is a “built-in” feature, also because third-party tools are often subject to change, which would require to adapt the library each time. But we’ll see if we can also provide a sample using the current Director version.

2- You can create buttons with as many states as you wish to -just create a normal button and change the button’s caption or icon when tapped -here’s a difficulty button example:

[lua]captions = {“Easy”, “Medium”, “Hard”}
colors = { {100,255,100}, {255,255,100}, {255,100,100} }
icons = { 13, 14, 15 }
difficulty = 1

_G.GUI.NewButton(
{
x = “center”,
y = “center”,
width = 150,
name = “BUT_DIFFICULTY”,
parentGroup = nil,
theme = “theme_1”,
caption = captions[difficulty],
textColor = colors [difficulty],
icon = icons [difficulty],
textAlign = “center”,
onPress = function(EventData)
difficulty = difficulty + 1
if difficulty > 3 then difficulty = 1 end
EventData.Widget:set(
{
caption = captions[difficulty],
textColor = colors [difficulty],
icon = icons [difficulty],
} )
EventData.Widget:update()
end,
} )[/lua] [import]uid: 10504 topic_id: 25953 reply_id: 105099[/import]

@x-pressive, thanks!

BTW, I was just “joking” about the “insta-buy”. :slight_smile:

I think you know that am your customer already of TextCandy and ParticleCandy as well…but now I just bought the 3rd one by you that is the WidgetCandy.

It`s already into my mailbox.
Rodrigo. [import]uid: 89165 topic_id: 25953 reply_id: 105103[/import]

You guys are awesome! Definitely buying this too (already bought particle&text :slight_smile: [import]uid: 9158 topic_id: 25953 reply_id: 105111[/import]

@x-pressive.com: Thanks! Very cool. Yes I am planning on using the library with my next game (my current is too far along) and will probably switch to Storyboard.

Again, fantastic job!

Mo
(LairdGames) [import]uid: 100814 topic_id: 25953 reply_id: 105121[/import]

@x-pressive.com, does widget candy allow for animated transitions, or at least frame animations, for button up/down states? For example if I want an on/off toggle switch to slide left and right (like they do in iOS) - or if I want a 3d looking button to pop out and light up when it is pressed on? [import]uid: 120 topic_id: 25953 reply_id: 105170[/import]

@x-pressive , would I be able to use the, lets say, the widget lists without it being like a pop-up window but as full screen as it was one of my “app screens”?

PS: I would not need the “rounded corners” too.
Thanks,
Rodrigo. [import]uid: 89165 topic_id: 25953 reply_id: 105172[/import]

@x-pressive:

Is it possible to flip the icons or would I need to add to the sheet in desired orientation? [import]uid: 109677 topic_id: 25953 reply_id: 105177[/import]