~ubuntu-branches/ubuntu/quantal/mysql-workbench/quantal

« back to all changes in this revision

Viewing changes to library/canvas/unit-tests/test_figure.h

  • Committer: Package Import Robot
  • Author(s): Dmitry Smirnov
  • Date: 2012-03-01 21:57:30 UTC
  • Revision ID: package-import@ubuntu.com-20120301215730-o7y8av8y38n162ro
Tags: upstream-5.2.38+dfsg
ImportĀ upstreamĀ versionĀ 5.2.38+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _TEST_FIGURE_H_
 
2
#define _TEST_FIGURE_H_
 
3
 
 
4
using namespace mdc;
 
5
using namespace MySQL::Geometry;
 
6
using namespace MySQL::Drawing;
 
7
 
 
8
class Thing : public mdc::Box {
 
9
  mdc::Box title_bar;
 
10
  mdc::IconTextFigure title;
 
11
  mdc::TextFigure title_expander;
 
12
 
 
13
  mdc::Box column_box;
 
14
 
 
15
  cairo_surface_t *column_icon;
 
16
  cairo_surface_t *key_icon;
 
17
 
 
18
  std::vector<mdc::IconTextFigure*> columns;
 
19
 
 
20
public:
 
21
  Thing(mdc::Layer *layer)
 
22
  : mdc::Box(layer, Box::Vertical), 
 
23
    title_bar(layer, Box::Horizontal),
 
24
    title(layer),
 
25
    title_expander(layer),
 
26
    column_box(layer, Box::Vertical, true)
 
27
{
 
28
    column_icon= cairo_image_surface_create_from_png("/Users/kojima/Development/mysql-workbench-pro/images/grt/column.png");
 
29
    key_icon= cairo_image_surface_create_from_png("/Users/kojima/Development/mysql-workbench-pro/images/grt/column_pk.png");
 
30
 
 
31
    set_accepts_focus(true);
 
32
    set_accepts_selection(true);
 
33
 
 
34
    set_background_color(Color(1,1,1));
 
35
    set_border_color(Color(0.5,0.5,0.5));
 
36
    set_draw_background(true);
 
37
 
 
38
    add(&title_bar, false, false);
 
39
    title_bar.set_padding(4, 4);
 
40
    title_bar.add(&title, true, true);
 
41
    title_bar.set_background_color(Color(0.5, 0.7, 0.83));
 
42
    title_bar.set_border_color(Color(0.5,0.5,0.5));
 
43
    title_bar.set_draw_background(true);
 
44
 
 
45
    title.set_icon(cairo_image_surface_create_from_png("/Users/kojima/Development/mysql-workbench-pro/images/grt/db.Table.12x12.png"));
 
46
    title.set_font(mdc::FontSpec("Lucida Grande", SNormal, WBold, 10));
 
47
    title.set_text("Hello World");
 
48
    
 
49
    title_expander.set_fixed_size(Size(10, -1));
 
50
    title_expander.set_text(">");
 
51
    title_bar.add(&title_expander, false, true);
 
52
 
 
53
    add(&column_box, false, true);
 
54
    column_box.set_spacing(2);
 
55
    column_box.set_padding(3, 3);
 
56
 
 
57
    
 
58
    add_column("id int primary key", key_icon);
 
59
    add_column("name varchar(32)", column_icon);
 
60
    add_column("address varchar(200)", column_icon);
 
61
    add_column("city int", column_icon);
 
62
    add_column("country int", column_icon);
 
63
    add_column("phone varchar(40)", column_icon);
 
64
    add_column("email varchar(80)", column_icon);
 
65
}
 
66
 
 
67
 
 
68
void add_column(const std::string &text, cairo_surface_t *icon)
 
69
{
 
70
  mdc::IconTextFigure *tf;
 
71
 
 
72
  tf= new mdc::IconTextFigure(_layer);
 
73
  tf->set_icon(icon);
 
74
  tf->set_spacing(1);
 
75
  tf->set_font(mdc::FontSpec("Lucida Grande", SNormal, WNormal, 10));
 
76
  tf->set_text(text);
 
77
 
 
78
  column_box.add(tf, false, true);
 
79
}
 
80
  
 
81
};
 
82
#endif /* _TEST_FIGURE_H_ */