2
* @brief Dialog for creating grid type arrangements of selected objects
5
* Bob Jamison ( based off trace dialog)
7
* Other dudes from The Inkscape Organization
9
* Copyright (C) 2004 Bob Jamison
10
* Copyright (C) 2004 John Cliff
12
* Released under GNU GPL, read the file 'COPYING' for more information
15
#ifndef SEEN_UI_DIALOG_TILE_H
16
#define SEEN_UI_DIALOG_TILE_H
18
#include <gtkmm/box.h>
19
#include <gtkmm/notebook.h>
20
#include <gtkmm/tooltips.h>
21
#include <gtkmm/button.h>
22
#include <gtkmm/spinbutton.h>
23
#include <gtkmm/checkbutton.h>
24
#include <gtkmm/radiobutton.h>
26
#include "ui/widget/panel.h"
34
* Dialog for tiling an object
36
class TileDialog : public UI::Widget::Panel {
39
virtual ~TileDialog() {};
47
* Respond to selection change
49
void updateSelection();
54
virtual void _apply();
56
// Callbacks from spinbuttons
57
void on_row_spinbutton_changed();
58
void on_col_spinbutton_changed();
59
void on_xpad_spinbutton_changed();
60
void on_ypad_spinbutton_changed();
61
void on_RowSize_checkbutton_changed();
62
void on_ColSize_checkbutton_changed();
63
void on_rowSize_spinbutton_changed();
64
void on_colSize_spinbutton_changed();
65
void Spacing_button_changed();
66
void VertAlign_changed();
67
void HorizAlign_changed();
69
static TileDialog& getInstance() {
70
static TileDialog instance;
75
TileDialog(TileDialog const &d); // no copy
76
void operator=(TileDialog const &d); // no assign
81
Gtk::Notebook notebook;
85
Gtk::Button *TileOkButton;
86
Gtk::Button *TileCancelButton;
88
// Number selected label
89
Gtk::Label SelectionContentsLabel;
97
Gtk::VBox NoOfColsBox;
98
Gtk::Label NoOfColsLabel;
99
Gtk::SpinButton NoOfColsSpinner;
101
Gtk::CheckButton RowHeightButton;
103
Gtk::VBox XByYLabelVBox;
104
Gtk::Label padXByYLabel;
105
Gtk::Label XByYLabel;
108
Gtk::VBox NoOfRowsBox;
109
Gtk::Label NoOfRowsLabel;
110
Gtk::SpinButton NoOfRowsSpinner;
112
Gtk::CheckButton ColumnWidthButton;
115
Gtk::Label VertAlignLabel;
116
Gtk::HBox VertAlignHBox;
117
Gtk::VBox VertAlignVBox;
118
Gtk::RadioButtonGroup VertAlignGroup;
119
Gtk::RadioButton VertCentreRadioButton;
120
Gtk::RadioButton VertTopRadioButton;
121
Gtk::RadioButton VertBotRadioButton;
125
Gtk::Label HorizAlignLabel;
126
Gtk::VBox HorizAlignVBox;
127
Gtk::HBox HorizAlignHBox;
128
Gtk::RadioButtonGroup HorizAlignGroup;
129
Gtk::RadioButton HorizCentreRadioButton;
130
Gtk::RadioButton HorizLeftRadioButton;
131
Gtk::RadioButton HorizRightRadioButton;
136
Gtk::Label XPadLabel;
137
Gtk::SpinButton XPadSpinner;
141
Gtk::Label YPadLabel;
142
Gtk::SpinButton YPadSpinner;
144
// BBox or manual spacing
145
Gtk::VBox SpacingVBox;
146
Gtk::RadioButtonGroup SpacingGroup;
147
Gtk::RadioButton SpaceByBBoxRadioButton;
148
Gtk::RadioButton SpaceManualRadioButton;
154
Gtk::VBox RowHeightVBox;
155
Gtk::HBox RowHeightBox;
156
Gtk::Label RowHeightLabel;
157
Gtk::SpinButton RowHeightSpinner;
160
Gtk::VBox ColumnWidthVBox;
161
Gtk::HBox ColumnWidthBox;
162
Gtk::Label ColumnWidthLabel;
163
Gtk::SpinButton ColumnWidthSpinner;
169
} //namespace Inkscape
172
#endif /* __TILEDIALOG_H__ */
177
c-file-style:"stroustrup"
178
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
183
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :