From: Georgios Petasis on
Hi all,

I have written a small Tk extension, that tries to make the windows
ribbon framework accessible from Tk:

Windows Ribbon:
http://msdn.microsoft.com/en-us/library/dd371191%28VS.85%29.aspx

There is no documentation, but it is easy to be used.
A ribbon is an XML file, compiled with a special compiler (uicc.exe),
which produces a set of resources, linked into a DLL.
Once you have the DLL, TkRibbon allows its usage from Tk.

Requirements: Windows 7, Vista (with Ribbon framework installed). XP is
not supported by the ribbon framework at all.

Binary: here:
http://www.ellogon.org/~petasis/tcl/TkRibbon/tkribbon1.0-a1.zip
Just unzip in the Tcl/lib installation folder.

A test script can be found here:
http://www.ellogon.org/~petasis/tcl/TkRibbon/test/test.tcl
The DLL used by the test script is here:
http://www.ellogon.org/~petasis/tcl/TkRibbon/test/Ribbon.dll
(must be placed in the same folder as test.tcl).
When test.tcl is ran, just resize the windows to make the ribbon visible.
(Ribbons are not drawn if the width is < 350 pixels and the window has
adequate height).

Screenshots:

A typical ribbon:
http://www.ellogon.org/~petasis/tcl/TkRibbon/images/TkRibbon-Default.png
The widgets exist below the ribbon.

A ribbon can be minimised:
http://www.ellogon.org/~petasis/tcl/TkRibbon/images/TkRibbon-Minimised.png
In this case, the ribbon can float above the widgets:
http://www.ellogon.org/~petasis/tcl/TkRibbon/images/TkRibbon-Floating.png

The events in the ribbon are transformed into Tk virtual events,
although the support for now is limited. Only buttons work: when
clicked, the <<onExecute>> event is generated, having the id of the
clicked button as data.

George
From: Georgios Petasis on
στις 20/2/2010 22:43, O/H Georgios Petasis έγραψε:
> Hi all,
>
> I have written a small Tk extension, that tries to make the windows
> ribbon framework accessible from Tk:
>
> Windows Ribbon:
> http://msdn.microsoft.com/en-us/library/dd371191%28VS.85%29.aspx
>
> There is no documentation, but it is easy to be used.
> A ribbon is an XML file, compiled with a special compiler (uicc.exe),
> which produces a set of resources, linked into a DLL.
> Once you have the DLL, TkRibbon allows its usage from Tk.
>
> Requirements: Windows 7, Vista (with Ribbon framework installed). XP is
> not supported by the ribbon framework at all.
>
> Binary: here:
> http://www.ellogon.org/~petasis/tcl/TkRibbon/tkribbon1.0-a1.zip
> Just unzip in the Tcl/lib installation folder.
>
> A test script can be found here:
> http://www.ellogon.org/~petasis/tcl/TkRibbon/test/test.tcl
> The DLL used by the test script is here:
> http://www.ellogon.org/~petasis/tcl/TkRibbon/test/Ribbon.dll
> (must be placed in the same folder as test.tcl).
> When test.tcl is ran, just resize the windows to make the ribbon visible.
> (Ribbons are not drawn if the width is < 350 pixels and the window has
> adequate height).
>
> Screenshots:
>
> A typical ribbon:
> http://www.ellogon.org/~petasis/tcl/TkRibbon/images/TkRibbon-Default.png
> The widgets exist below the ribbon.
>
> A ribbon can be minimised:
> http://www.ellogon.org/~petasis/tcl/TkRibbon/images/TkRibbon-Minimised.png
> In this case, the ribbon can float above the widgets:
> http://www.ellogon.org/~petasis/tcl/TkRibbon/images/TkRibbon-Floating.png
>
> The events in the ribbon are transformed into Tk virtual events,
> although the support for now is limited. Only buttons work: when
> clicked, the <<onExecute>> event is generated, having the id of the
> clicked button as data.
>
> George

Another example of a ribbon inside a Tk window:

http://www.ellogon.org/~petasis/tcl/TkRibbon/images/Ellogon-Ribbon.png

George
From: Georgios Petasis on
στις 28/2/2010 03:40, O/H Georgios Petasis έγραψε:
>
> Another example of a ribbon inside a Tk window:
>
> http://www.ellogon.org/~petasis/tcl/TkRibbon/images/Ellogon-Ribbon.png
>
> George

Interacting with elements that have a collection is tricky, but feasible:


http://www.ellogon.org/~petasis/tcl/TkRibbon/images/Ellogon-Ribbon-Combos.png

In this example a set of folders is placed in the top combobox
dynamically (at runtime), while the second combobox is filled according
to the selection in the one above.

George
From: Robert H on
On Mar 2, 8:18 pm, Georgios Petasis <peta...(a)iit.demokritos.gr> wrote:
> στις 28/2/2010 03:40, O/H Georgios Petasis έγραψε:
>
>
>
> > Another example of a ribbon inside a Tk window:
>
> >http://www.ellogon.org/~petasis/tcl/TkRibbon/images/Ellogon-Ribbon.png
>
> > George
>
> Interacting with elements that have a collection is tricky, but feasible:
>
> http://www.ellogon.org/~petasis/tcl/TkRibbon/images/Ellogon-Ribbon-Co...
>
> In this example a set of folders is placed in the top combobox
> dynamically (at runtime), while the second combobox is filled according
> to the selection in the one above.
>
> George

All very cool!

Bob
From: George Petasis on
στις 3/3/2010 3:18 πμ, O/H Georgios Petasis έγραψε:
> στις 28/2/2010 03:40, O/H Georgios Petasis έγραψε:
>>
>> Another example of a ribbon inside a Tk window:
>>
>> http://www.ellogon.org/~petasis/tcl/TkRibbon/images/Ellogon-Ribbon.png
>>
>> George
>
> Interacting with elements that have a collection is tricky, but feasible:
>
>
> http://www.ellogon.org/~petasis/tcl/TkRibbon/images/Ellogon-Ribbon-Combos.png
>
>
> In this example a set of folders is placed in the top combobox
> dynamically (at runtime), while the second combobox is filled according
> to the selection in the one above.
>
> George

A Tk window with a TkRibbon widget and a tkpath canvas:

http://www.ellogon.org/~petasis/tcl/TkRibbon/images/EllogonSystem-Gradient.png

George