Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » Look and Chameleon Technology » How to begin with chameleon
How to begin with chameleon [message #47885] Mon, 17 April 2017 17:38 Go to next message
koldo is currently offline  koldo
Messages: 2775
Registered: August 2008
Location: Basque Country
Senior Veteran
Dear colleagues

I would like to begin a new program with a different look. Until now I have never used chameleon.

It seems it has three parts:
- Understand chameleon
- Find/Create a look to reproduce
- Program chosen look

What is your experience?



Best regards
Koldo
Re: How to begin with chameleon [message #47897 is a reply to message #47885] Thu, 20 April 2017 10:37 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1282
Registered: September 2007
Senior Veteran
Hi koldo,

From my experience, Chameleon works and that's about it. It isn't really designed to be friendly or intuitive, it is just functional. And not documented.

You may start by looking in bazaar/Theme, a package that I created that can load a theme from an external zip file (or a folder). It handles everything form colors to menus and surprisingly still works even though it has not been updated in years. It covers pretty much all the controls so you could use that as a starting point. The external format is a bit random.

In bazaar\Themes\Skulpture.zip and SkulptureStone.zip you can find a slightly half-assed port of a KDE skin.
Re: How to begin with chameleon [message #47901 is a reply to message #47897] Thu, 20 April 2017 16:10 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 2775
Registered: August 2008
Location: Basque Country
Senior Veteran
Dear cbpporter

Theme seems a good shortcut, as it is not necessary to draw the widgets, just taking a picture of them.

Do you have a sample to use it? Theme seems to be the library and Themes contains the resources, but I do not know how to use it.


Best regards
Koldo
Re: How to begin with chameleon [message #47902 is a reply to message #47901] Thu, 20 April 2017 16:28 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1282
Registered: September 2007
Senior Veteran
Theme is the library. Add that package to a project. Include Theme.h.

The important public API is just:
Theme& Load(const String& fileName);
Theme& Apply();


In your "main" method, you create a new local Theme and call Load with a theme. 3 sample themes are included in the Themes folder. One of them is just the "Bluebar" sample theme that covers only menus, but converted to my format.

Load just load the Assets.

Apply changes the look.

There can be some rare minor issues if you call Apply after the creation of your windows if I remember correctly.

Each Theme::LoadFoo private methods shows you how to set most of not all the look of a widget.
Re: How to begin with chameleon [message #47914 is a reply to message #47902] Sun, 23 April 2017 19:40 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 2775
Registered: August 2008
Location: Basque Country
Senior Veteran
Thank you cbpporter

This is very interesting. This way it is possible to create a new skin for any existing application, for example, a dark theme.

What do you do to create/edit a new skin for all widgets?


Best regards
Koldo
Re: How to begin with chameleon [message #47988 is a reply to message #47914] Tue, 02 May 2017 09:52 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1282
Registered: September 2007
Senior Veteran
What do you mean?

The first step is to have a vision for what you want the new theme to be.

Then it is pretty much a question of drawing the themes in Photoshop or something, one control at a time. Each skin should generally be a small rectangle.

Then you take that small rectangle and either assign it to Chameleon directly, like U++ does, or use something similar as Theme, and save it as an external theme.
Re: How to begin with chameleon [message #47994 is a reply to message #47988] Wed, 03 May 2017 08:34 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 2775
Registered: August 2008
Location: Basque Country
Senior Veteran
I understand, it has to be fully done by hand Rolling Eyes

In the same way that there are databases of icons, are there also databases for this?


Best regards
Koldo
Re: How to begin with chameleon [message #47997 is a reply to message #47994] Wed, 03 May 2017 10:54 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1282
Registered: September 2007
Senior Veteran
I don't think there is.

You can also steel a them with screenshots Smile.

It is better to ask permission though. I asked for it before releasing Skulpture.
Re: How to begin with chameleon [message #48007 is a reply to message #47997] Thu, 04 May 2017 09:49 Go to previous message
koldo is currently offline  koldo
Messages: 2775
Registered: August 2008
Location: Basque Country
Senior Veteran
OK. Thank you.

Best regards
Koldo
Previous Topic: TreeCtrl theme
Goto Forum:
  


Current Time: Sat Nov 18 20:10:08 CET 2017

Total time taken to generate the page: 0.01218 seconds