On 03/30/18 23:11, Stefan Salewski wrote:
On Fri, 2018-03-30 at 22:25 +0200, Stefan Salewski wrote:
You may even name your widgets and then can set
CSS properties of single widgets.

Like this:

import gintro/[gtk, glib, gobject, gio]

proc appActivate(app: Application) =
   let window = newApplicationWindow(app)
   let scale = newScaleWithRange(Orientation.horizontal, 0.0, 100.0, 10.0)
   scale.setName("MyTinyOne")
   echo scale.getName
   let cssProvider = newCssProvider()
   let data = "scale#MyTinyOne slider {min-width: 4px; min-height: 4px; margin: 
0px}"
   discard cssProvider.loadFromData(data)
   let styleContext = scale.getStyleContext
   assert styleContext != nil
   addProvider(styleContext, cssProvider, STYLE_PROVIDER_PRIORITY_USER)
   window.add(scale)
   showAll(window)

proc main =
   let app = newApplication("org.gtk.example")
   connect(app, "activate", appActivate)
   discard run(app)

main()



Thanks a lot! This is what I was looking for.

I now have smaller scales and sliders (apparently what I called an 'indicator' is called a 'slider'). The margin can be used to have the slider either inside (>= 0) the bar or larger than the bar (< 0).

It will take a bit of tweaking to get this to look acceptable across themes/OSes, but the basis is here.

Again, thank you.


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to