Commit 496f357fcb111d7763871204682158ffc146bfe6
- Date: Fri Apr 25 19:40:08 +0000 2008
- Committer: Dag Odenhall (dag.odenhall@gmail.com)
- Author: Dag Odenhall (dag.odenhall@gmail.com)
- Commit SHA1: 496f357fcb111d7763871204682158ffc146bfe6
- Tree SHA1: 7056bdaa024bf2f8d70d0e0332e6aa0c6292a19c
Basic pango markup helpers
Included in widget modules and allows convinience shortcuts
in property formats such as:
span @default, :font => "terminus 12"
underline @time
background :red, @artist
foreground :blue, @title
bold @count
* lib/amazing/helpers/pango_markup.rb: (span) simple span
tag generator.
(background) shortcut for background span.
(foreground) shortcut for foreground span.
(underline) shortcut for underline span.
(bold) shortcut for weighted span.
* lib/amazing/widget.rb: (Widget) include pango markup helper.
Commit diff
| |   |
| 1 | module Amazing |
| 2 | module Helpers |
| 3 | module PangoMarkup |
| 4 | def span(text, opts) |
| 5 | attrs = opts.map {|key, value| "#{key}=#{value.to_s.inspect}" }.join(" ") |
| 6 | "<span #{attrs}>#{text}</span>" |
| 7 | end |
| 8 | |
| 9 | def background(color, text) |
| 10 | span(text, :background => color) |
| 11 | end |
| 12 | |
| 13 | def foreground(color, text) |
| 14 | span(text, :foreground => color) |
| 15 | end |
| 16 | |
| 17 | def underline(text, style=:single) |
| 18 | span(text, :underline => style) |
| 19 | end |
| 20 | |
| 21 | def bold(text, level=:bold) |
| 22 | span(text, :weight => level) |
| 23 | end |
| 24 | end |
| 25 | end |
| 26 | end |
| toggle raw diff |
--- /dev/null
+++ b/lib/amazing/helpers/pango_markup.rb
@@ -0,0 +1,26 @@
+module Amazing
+ module Helpers
+ module PangoMarkup
+ def span(text, opts)
+ attrs = opts.map {|key, value| "#{key}=#{value.to_s.inspect}" }.join(" ")
+ "<span #{attrs}>#{text}</span>"
+ end
+
+ def background(color, text)
+ span(text, :background => color)
+ end
+
+ def foreground(color, text)
+ span(text, :foreground => color)
+ end
+
+ def underline(text, style=:single)
+ span(text, :underline => style)
+ end
+
+ def bold(text, level=:bold)
+ span(text, :weight => level)
+ end
+ end
+ end
+end |
| |   |
| 1 | 1 | # Copyright (C) 2008 Dag Odenhall <dag.odenhall@gmail.com> |
| 2 | 2 | # Licensed under the Academic Free License version 3.0 |
| 3 | 3 | |
| 4 | require 'amazing/helpers/pango_markup' |
| 4 | 5 | require 'erb' |
| 5 | 6 | |
| 6 | 7 | module Amazing |
| … | … | |
| 25 | 25 | # end |
| 26 | 26 | # end |
| 27 | 27 | class Widget |
| 28 | include Helpers::PangoMarkup |
| 28 | 29 | include ERB::Util |
| 29 | 30 | |
| 30 | 31 | def initialize(opts={}) |
| toggle raw diff |
--- a/lib/amazing/widget.rb
+++ b/lib/amazing/widget.rb
@@ -1,6 +1,7 @@
# Copyright (C) 2008 Dag Odenhall <dag.odenhall@gmail.com>
# Licensed under the Academic Free License version 3.0
+require 'amazing/helpers/pango_markup'
require 'erb'
module Amazing
@@ -24,6 +25,7 @@ module Amazing
# end
# end
class Widget
+ include Helpers::PangoMarkup
include ERB::Util
def initialize(opts={}) |