Glimmer DSL for Tk Hello, Progressbar & Theme!

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • glimmer-dsl-tk

    Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library)

  • # From: https://github.com/AndyObtiva/glimmer-dsl-tk#hello-progressbar require 'glimmer-dsl-tk' class HelloProgressbar include Glimmer attr_accessor :progress_value, :maximum_value, :delay_value def initialize self.progress_value = 0 self.maximum_value = 100 self.delay_value = 0.01 Thread.new do loop do self.progress_value = (self.progress_value.to_i + 1) % (maximum_value.to_i + 1) sleep(delay_value) # yields to main thread end end end def launch root { text 'Hello, Progressbar!' progressbar { grid row: 0, column: 0, columnspan: 3 orient 'horizontal' length 200 mode 'indeterminate' maximum <= [self, :maximum_value] value <= [self, :progress_value] } label { grid row: 1, column: 0 text 'Value' } label { grid row: 1, column: 1 text 'Maximum' } label { grid row: 1, column: 2 text 'Delay in Seconds' } spinbox { grid row: 2, column: 0 from 0.0 to 100.0 increment 1.0 format '%0f' text <=> [self, :progress_value, on_read: :to_i, on_write: :to_i] } spinbox { grid row: 2, column: 1 from 1.0 to 100.0 increment 1.0 format '%0f' text <=> [self, :maximum_value, on_read: :to_i, on_write: :to_i] } spinbox { grid row: 2, column: 2 from 0.01 to 1.0 increment 0.1 format '%0.2f' text <=> [self, :delay_value, on_write: ->(val) {[val.to_f, 1.0].min}] } progressbar { grid row: 3, column: 0, columnspan: 3 orient 'horizontal' length 200 mode 'determinate' maximum <= [self, :maximum_value] value <= [self, :progress_value] } progressbar { grid row: 4, column: 0, columnspan: 3 orient 'vertical' length 200 mode 'determinate' maximum <= [self, :maximum_value] value <= [self, :progress_value] } }.open end end HelloProgressbar.new.launch

  • Glimmer

    DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library), Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Ruby-GNOME Desktop Development GUI Library), Glimmer DSL for XML (& HTML), and Glimmer DSL for CSS

  • # From: https://github.com/AndyObtiva/glimmer-dsl-tk#hello-progressbar require 'glimmer-dsl-tk' class HelloProgressbar include Glimmer attr_accessor :progress_value, :maximum_value, :delay_value def initialize self.progress_value = 0 self.maximum_value = 100 self.delay_value = 0.01 Thread.new do loop do self.progress_value = (self.progress_value.to_i + 1) % (maximum_value.to_i + 1) sleep(delay_value) # yields to main thread end end end def launch root { text 'Hello, Progressbar!' progressbar { grid row: 0, column: 0, columnspan: 3 orient 'horizontal' length 200 mode 'indeterminate' maximum <= [self, :maximum_value] value <= [self, :progress_value] } label { grid row: 1, column: 0 text 'Value' } label { grid row: 1, column: 1 text 'Maximum' } label { grid row: 1, column: 2 text 'Delay in Seconds' } spinbox { grid row: 2, column: 0 from 0.0 to 100.0 increment 1.0 format '%0f' text <=> [self, :progress_value, on_read: :to_i, on_write: :to_i] } spinbox { grid row: 2, column: 1 from 1.0 to 100.0 increment 1.0 format '%0f' text <=> [self, :maximum_value, on_read: :to_i, on_write: :to_i] } spinbox { grid row: 2, column: 2 from 0.01 to 1.0 increment 0.1 format '%0.2f' text <=> [self, :delay_value, on_write: ->(val) {[val.to_f, 1.0].min}] } progressbar { grid row: 3, column: 0, columnspan: 3 orient 'horizontal' length 200 mode 'determinate' maximum <= [self, :maximum_value] value <= [self, :progress_value] } progressbar { grid row: 4, column: 0, columnspan: 3 orient 'vertical' length 200 mode 'determinate' maximum <= [self, :maximum_value] value <= [self, :progress_value] } }.open end end HelloProgressbar.new.launch

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts