TestaSkin, a new tool on the road

Help and discussion regarding skinning, themes, and other artistic content.

Moderators: CEGUI MVP, CEGUI Team

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

TestaSkin, a new tool on the road

Postby martignasse » Sat Oct 22, 2005 22:24

well, i'll begin by the beginning :

on this thread, i discuted with centipede about a way to rapidly test or overview a skin on the visual aspect.

Centipede experienced the "xml" layout road,
and me, the "all in code" one.

So the idea naturally grow up to make an appli doing just that :)

Providing an easy way to have a reference layout(or numerous) to test or look at different skin.
A kind of Skin tester, or viewer.

For now, it's just a basic appli with near to zero fonctionnalities...Here we go.

And it's time to have people feedback and ideas on this before going deeper.

Tested only with VS7.1 and cegui 4.0.

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Sat Oct 22, 2005 22:41

and an overview screenshot :
Image

User avatar
centipede
Quite a regular
Quite a regular
Posts: 58
Joined: Thu Jun 30, 2005 10:36
Contact:

Re: TestaSkin, a new tool on the road

Postby centipede » Sun Oct 23, 2005 00:20

Never scorn a simple tool if it does the job. If you give the intro window a text entry for the name of the scheme, then I'm quite satisfied. Never mind the luxurious functions, much better to spend the time getting the widgets up and running.

I'll see soon if I can get it to compile in linux.

Surely the end user will get a fast way to decide which skin to go for without tons of code. Keep up the good work! There aren't that many of us working on this so a little company makes things roll faster :P

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Sun Oct 23, 2005 09:50

If you give the intro window a text entry for the name of the scheme, then I'm quite satisfied

yes, that's the goal, or a choice of skins managed by a config file ;)

More generally, if we want people to show up there skins, we need a tool to manage/show/test them...

I have mainly two directions for this :

1°) LABO
rapidly test the skin of you'r choice with the renderer of you'r choice against a complete FalagarBase scheme. It's the purpose of the build in layout.

2°) VIEWER
be able to test a certain skin with a certain layout, by the ability to load xml layout.


PS :
And if you can give me a description of you'r "Horro1" skin, cause i want to make some description/info panel with
something like :

ARTISTIC OVERVIEW
"this skin was made with cyber post-apocalyptic ambiance in mind, trying to put the user in front of a nearly dead mechanical beast" :lol:

FONCTIONNALITY OVERVIEW
"the skin materialise the focus by highlighting the widget, the mouse cursor change aspect every time an action is possible on a widget..."

the dream could be to end up with a skin certificator for the CEGUI system :P

User avatar
centipede
Quite a regular
Quite a regular
Posts: 58
Joined: Thu Jun 30, 2005 10:36
Contact:

Re: TestaSkin, a new tool on the road

Postby centipede » Sun Oct 23, 2005 15:00

Hmm. Thinking out loud here.

My reason for making free stuff is that I hope to aid the garage/indie scene. Problem with graphics is that even with say 50 skins you would easily recognize each one if it was used in the same game twice. What is needed is ways to make variations. Already there is Color variations. But once the artist gets into the flow of painting one concept, it wouldn't take make minutes extra to make three or four different decorations of various kinds.

A method of recombining these variations, specifically choosing alternatives or layering them would be an idea.

Following this vein it would be a clever idea to have extended descriptions in your program.

Just a thought.

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Sun Oct 23, 2005 16:44

well, the idea is good. but far from where we are now.

and that assume a kind of normalisation between Skins, like the selected/highlighted/hover/disabled colors/layers...

For now, i'm nearly on the run-time skin switching, and go back on !

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Sun Oct 23, 2005 19:21

update time...

follow the link http://mfleurent.free.fr/CEGUI/TestaSkin.zip to download this new version.

It add the run-time Skin switching ;)

and it's look like this with the "Horror1" skin from centipede :
Image

have fun.

User avatar
centipede
Quite a regular
Quite a regular
Posts: 58
Joined: Thu Jun 30, 2005 10:36
Contact:

Re: TestaSkin, a new tool on the road

Postby centipede » Tue Oct 25, 2005 10:03

I AM having fun... :hammer: I'm also a bit lazy... Waiting for the next version that I can make xml skins up against 8)

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Tue Oct 25, 2005 18:08

fun is good, cool

ok, ok , next update will be for the xml loading :D

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Tue Nov 01, 2005 13:38

hi,

update time...

The link is always the same :
http://mfleurent.free.fr/CEGUI/TestaSkin.zip

Changes are essentialy a big code cleaning and design changes.

And the "loading layout from file" feature ;)

I used the CommonFileDialog from SpookyBoo(big thanks) for this, and it's only working for windows, according to this page :(
I have also a nasty bug who make randomly exception when you try to open the load dialog box :evil:

that said, it's pretty usuable and ready for you'r feedback.

screenshot :
Image

User avatar
centipede
Quite a regular
Quite a regular
Posts: 58
Joined: Thu Jun 30, 2005 10:36
Contact:

Re: TestaSkin, a new tool on the road

Postby centipede » Thu Nov 03, 2005 07:01

Great job so far! Testaskin is becoming quite a solid tool! Good idea with the layout-loading facility. But you must still remember that there are widgets that currently can't be instantiated via layouts (as far as I'm aware. E.g. combolist items)

User avatar
scriptkid
Home away from home
Home away from home
Posts: 1178
Joined: Wed Jan 12, 2005 12:06
Location: The Hague, The Netherlands
Contact:

Re: TestaSkin, a new tool on the road

Postby scriptkid » Thu Nov 03, 2005 08:25

Looks nice and it's a good idea too!

I've been playing around with it for a bit. I don't quite understand though why i can only change the skin for the built-in layout, and not for the load-from-file ones..

Right now i'm looking at the sources, to see how it works :-)

Good luck!

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Thu Nov 03, 2005 19:43

from centipede :
But you must still remember that there are widgets that currently can't be instantiated via layouts (as far as I'm aware. E.g. combolist items)
yes...but
i can make some helpers class for populate them, and make the stuff after layout loading by detecting what widgets type have been loaded 8)
hum hum, of course, it's an "after basic fonctionnality level feature" ;)

I don't quite understand though why i can only change the skin for the built-in layout, and not for the load-from-file ones..

Right now i'm looking at the sources, to see how it works :-)
The fact is, right now, for build in layout, i just decide the skin type at widgets creation.
It's made with the SkinHelper class (little hacky...)
And i don't now how to change fooknfeel without rebuilding all the layout. :roll:

For xml layout, looknfeel it's specified in the tag :

Code: Select all

<Window Type="Horror1/Button" Name="Demo7/Window1/Quit">
and is decided at load time, and that all. :(

could be good if i can just use the basic "falagard/Futton" for creating by code and describing in xml .
And just choice a looknfeel (skin) by code.

...no feedback about an "unknown exception" when trying to open the file dialog ?

User avatar
lindquist
CEGUI Team (Retired)
Posts: 770
Joined: Mon Jan 24, 2005 21:20
Location: Copenhagen, Denmark

Re: TestaSkin, a new tool on the road

Postby lindquist » Fri Nov 04, 2005 23:02

You could use the window-type-alias system to allow "generic" layouts.

It would allow you to make Button an alias for Horror/Button etc. This alias can be removed, and a new one created to point to a different type before reloading the layout.

edit:
http://www.cegui.org.uk/api_reference/c ... nager.html

User avatar
martignasse
Just can't stay away
Just can't stay away
Posts: 227
Joined: Thu Apr 14, 2005 08:10
Location: Lyon, FRANCE

Re: TestaSkin, a new tool on the road

Postby martignasse » Sat Nov 05, 2005 13:56

You could use the window-type-alias system to allow "generic" layouts.

It would allow you to make Button an alias for Horror/Button etc. This alias can be removed, and a new one created to point to a different type before reloading the layout.
Sound good, and i tried.

but can't make it working.

I made some .scheme with alias in it for each skin like this (Marti Skin example):

Code: Select all

<?xml version="1.0" ?>
<GUIScheme Name="MartiWidgetAliases">
   <WindowAlias Alias="Button" Target="Marti/Button" />
   <WindowAlias Alias="Checkbox" Target="Marti/Checkbox" />
   <WindowAlias Alias="CloseButton" Target="Marti/CloseButton" />
   <WindowAlias Alias="Combobox" Target="Marti/Combobox" />
   <WindowAlias Alias="ComboDropList" Target="Marti/ComboDropList" />
   <WindowAlias Alias="ComboEditbox" Target="Marti/ComboEditbox" />
   <WindowAlias Alias="Editbox" Target="Marti/Editbox" />
   <WindowAlias Alias="FrameWindow" Target="Marti/FrameWindow" />
   <WindowAlias Alias="Listbox" Target="Marti/Listbox" />
   <WindowAlias Alias="ListHeader" Target="Marti/ListHeader" />
   <WindowAlias Alias="ListHeaderSegment" Target="Marti/ListHeaderSegment" />
   <WindowAlias Alias="MiniHorzScrollbar" Target="Marti/HorizontalScrollbar" />
   <WindowAlias Alias="MiniHorzScrollbarThumb" Target="Marti/HorizontalScrollbarThumb" />
   <WindowAlias Alias="MiniVertScrollbar" Target="Marti/VerticalScrollbar" />
   <WindowAlias Alias="MiniVertScrollbarThumb" Target="Marti/VerticalScrollbarThumb" />
   <WindowAlias Alias="MultiColumnList" Target="Marti/MultiColumnList" />
   <WindowAlias Alias="MultiLineEditbox" Target="Marti/MultiLineEditbox" />
   <WindowAlias Alias="ProgressBar" Target="Marti/ProgressBar" />
   <WindowAlias Alias="RadioButton" Target="Marti/RadioButton" />
   <WindowAlias Alias="Slider" Target="Marti/Slider" />
   <WindowAlias Alias="Slider Thumb" Target="Marti/SliderThumb" />
   <WindowAlias Alias="StaticImage" Target="Marti/StaticImage" />
   <WindowAlias Alias="StaticText" Target="Marti/StaticText" />
   <WindowAlias Alias="TabButton" Target="Marti/TabButton" />
   <WindowAlias Alias="TabPane" Target="Marti/TabPane" />
   <WindowAlias Alias="TabControl" Target="Marti/TabControl" />
   <WindowAlias Alias="Titlebar" Target="Marti/Titlebar" />
   <WindowAlias Alias="VertScrollbar" Target="Marti/LargeVerticalScrollbar" />
   <WindowAlias Alias="VertScrollbarThumb" Target="Marti/LargeVerticalScrollbarThumb" />
</GUIScheme>
i wanted to load/unload them depending on the chosen skin.

i'm sure my Marti skin is loaded before.

But when loading, i have an exception , saying the "Marti/Button" type not existing in the system !



however, if i replace the target with "Falagard/..." instead of "Marti/...", it load. but it's not good use anyway.

so i have a question :

is the alias system in sync with the falagard system ?

i mean, it's like the alias system was looking for primary type (Falagard, WindowLook, TaharezLook) and not at the mapped one (who are introduced with the falagard system, if i understand correctly).


Return to “Skins and Themes”

Who is online

Users browsing this forum: No registered users and 2 guests