wxAccordion - an accordion control

If you have a cool piece of software to share, but you are not hosting it officially yet, please dump it in here. If you have code snippets that are useful, please donate!
New Pagodi
Super wx Problem Solver
Super wx Problem Solver
Posts: 256
Joined: Tue Jun 20, 2006 6:47 pm
Contact:

wxAccordion - an accordion control

Postby New Pagodi » Mon Oct 12, 2015 6:54 am

In case anyone wants to make to make their programs feel like an annoying webpage, I've written an accordion control. I derived it wxBookCtrlBase, so if you know how to use wxNotebook, you should be able to use this as well. The code is a little more than can easily be dumped here, but you can get a zip file on my github page. Here are a few examples:

Image

I wanted this to be simple but highly customizable. But that's not an easy balance to maintain and I ended up with over 100 methods. However, it's mostly the same 15 commands repeated several times for different pieces of the control. There's a doxyfile to generate documentation. I tried to make it look like the wxWidgets documentation, but there were a few things I couldn't figure out. There are also 3 samples. A basic sample shows how to set a few things and add stuff to the control. An extended sample explores more of its capabilities. And finally, a builder sample uses a property grid to set an accordion's properties and can generate c++ code to make an accordion with those properties.

Any suggestions or spelling/grammar/phrasing corrections for the documentation would be appreciated.

User avatar
doublemax
Moderator
Moderator
Posts: 12756
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: wxAccordion - an accordion control

Postby doublemax » Mon Oct 12, 2015 9:44 am

Very nice, thanks.

To reduce the number of methods, i think you should introduce a new class, e.g. wxAccordionCaptionStyle. You would have one instance for each state. That would also have the advantage that you could copy a style and modify it, as many styles will have attributes that are identical to the other styles.
Use the source, Luke!

New Pagodi
Super wx Problem Solver
Super wx Problem Solver
Posts: 256
Joined: Tue Jun 20, 2006 6:47 pm
Contact:

Re: wxAccordion - an accordion control

Postby New Pagodi » Tue Oct 13, 2015 11:43 pm

Thanks for the suggestion. I just did that.

Also I just learned how to host doxygen documentation on github. If anyone is interested, the documentation is available here.

iwbnwif
Super wx Problem Solver
Super wx Problem Solver
Posts: 263
Joined: Tue Mar 19, 2013 8:52 pm

Re: wxAccordion - an accordion control

Postby iwbnwif » Wed Oct 14, 2015 11:55 am

Thank you, a very nice control and very nice documentation :)

I would like to suggest creating an entry on the wxCode page if possible, and maybe also add a note to the foldbar entry?
wxWidgets 3.10, TDM MinGW64 5.1.0, g++ 4.8.2, Ubuntu 16.04LTS, Windows 10, CodeLite + wxCrafter
Some people, when confronted with a GUI problem, think "I know, I'll use Eclipse RCP". Now they have two problems.

User avatar
yasriady
Knows some wx things
Knows some wx things
Posts: 32
Joined: Mon Apr 28, 2014 5:17 am

Re: wxAccordion - an accordion control

Postby yasriady » Wed Oct 14, 2015 10:55 pm

Very good control, nice looking and well documentation..
Anyway, could you add Makefile to build both source lib and examples? Due to not all of users able to build the control without complete guidance.
wxWidgets Journal at http://yasriady.blogspot.com

New Pagodi
Super wx Problem Solver
Super wx Problem Solver
Posts: 256
Joined: Tue Jun 20, 2006 6:47 pm
Contact:

Re: wxAccordion - an accordion control

Postby New Pagodi » Fri Oct 16, 2015 4:28 am

I don't really know how to make build files, so I used the wxCode bakefiles to generate a set of build files. I hope they work, but I've only tested them with visualc with monlithic-shared and multilib-static configurations.

Since the bakefiles were from the wxCode project, they stick a "wxcode-" in front of the library name. Sorry if that confuses anyone.

User avatar
evstevemd
Part Of The Furniture
Part Of The Furniture
Posts: 2092
Joined: Wed Jan 28, 2009 11:57 am
Location: Dar es Salaam, United Republic of Tanzania
Contact:

Re: wxAccordion - an accordion control

Postby evstevemd » Fri Oct 16, 2015 5:48 pm

Great Control. Thanks!

New Pagodi wrote:I don't really know how to make build files, so I used the wxCode bakefiles to generate a set of build files. I hope they work, but I've only tested them with visualc with monlithic-shared and multilib-static configurations.

Since the bakefiles were from the wxCode project, they stick a "wxcode-" in front of the library name. Sorry if that confuses anyone.

I think bakefile isn't good option. I had same question and I went with CMake. Very easy to follow from their tutorial.
You can seem some reasoning to avoid Bakefile in this link:
https://github.com/mtangoo/wxDatabase/issues/2
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
[Ubuntu 15.04/Windows 10 Pro - GCC/MinGW, CodeLite IDE et al]


Return to “The Code Dump”

Who is online

Users browsing this forum: No registered users and 2 guests