File: 018-enumptr.lua

package info (click to toggle)
lua-gtk 0.9%2B20100528-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 2,176 kB
  • ctags: 1,934
  • sloc: ansic: 9,571; sh: 373; makefile: 241
file content (44 lines) | stat: -rwxr-xr-x 1,117 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#! /usr/bin/env lua
require "gtk"
require "atk"

-- test enum* and enum** types

-- enum* as output parameter
img = gtk.image_new_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON)
assert(img)

stock_id, size = img:get_stock(gnome.NIL, 0)
assert(stock_id == gtk.STOCK_OPEN)
assert(size == gtk.ICON_SIZE_BUTTON)


-- enum* as input (array of enums)
set = atk.state_set_new()
assert(set:is_empty())

set:add_states({atk.STATE_ACTIVE, atk.STATE_ENABLED, atk.STATE_FOCUSABLE}, 3)

-- exercise the atk_state_set API
assert(not set:is_empty())
assert(set:contains_state(atk.STATE_ENABLED))
assert(set:contains_states({atk.STATE_ACTIVE, atk.STATE_ENABLED}, 2))
set:remove_state(atk.STATE_ACTIVE)
assert(not set:contains_state(atk.STATE_ACTIVE))
set:clear_states()
assert(set:is_empty())


ar = {}
gdk.query_visual_types(ar, 0)
assert(#ar > 0)

-- enum** as output.  existing values in the output table are removed.
icon_set = gtk.icon_factory_lookup_default(gtk.STOCK_OPEN)
sizes = {1, 2, 3, 4, 5, 6, 7, 8, ["test"] = 9}
gtk.icon_set_get_sizes(icon_set, sizes, 0)

assert(#sizes == 6)
assert(sizes[1] == gtk.ICON_SIZE_MENU)