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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*!
    A very high level native gui library for Windows.
*/
/*
    Copyright (C) 2016  Gabriel Dubé

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#![cfg(windows)]

extern crate winapi;
extern crate user32;
extern crate kernel32;
extern crate comctl32;
extern crate gdi32;
extern crate ole32;

mod low;
mod defs;
mod error;
mod events;
mod controls;
mod resources;
mod ui;

pub mod templates;

pub mod custom {
    /*!
        Custom control creation resources
    */
    pub use controls::{ControlT, Control, AnyHandle};
    pub use resources::{ResourceT, Resource};
    pub use low::window_helper::{build_window, build_sysclass, SysclassParams, WindowParams, set_window_long, get_window_long,
    get_window_text, set_window_text, get_window_visibility, set_window_visibility, get_window_position, set_window_position,
    get_window_size, set_window_size, get_window_enabled, set_window_enabled};

}

pub mod constants {
    /*!
        Controls constants
    */
    pub use defs::*;
    pub use controls::ControlType;
}

pub use error::{Error, SystemError};
pub use events::{EventCallback, Event, EventArgs};
pub use low::other_helper::{message, simple_message, fatal_message, error_message};
pub use controls::{WindowT, Window, MenuT, Menu, MenuItemT, MenuItem, ButtonT, Button, ListBoxT, ListBox, CheckBoxT, CheckBox,
 RadioButtonT, RadioButton, TimerT, Timer, LabelT, Label, ComboBoxT, ComboBox, SeparatorT, Separator, TextInputT, TextInput,
 FileDialogT, FileDialog, CanvasT, Canvas, CanvasRenderer, TextBoxT, TextBox, GroupBoxT, GroupBox, ProgressBarT, ProgressBar,
 DatePickerT, DatePicker};
pub use resources::{FontT, Font};
pub use ui::{Ui, dispatch_events, exit};