Welcome to mirror list, hosted at ThFree Co, Russian Federation.

GUI.xsp « xsp « xs - github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a1e3e4670dac1d79712c7599b6ba5fdb9aa3f2ba (plain)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
%module{Slic3r::XS};

%{
#include <xsinit.h>
#include "slic3r/GUI/GUI.hpp"
#include "slic3r/Utils/ASCIIFolding.hpp"
#include "slic3r/Utils/FixModelByWin10.hpp"
#include "slic3r/Utils/Serial.hpp"
%}


%package{Slic3r::GUI};

void about()
    %code{% Slic3r::GUI::about(); %};

void disable_screensaver()
    %code{% Slic3r::GUI::disable_screensaver(); %};

void enable_screensaver()
    %code{% Slic3r::GUI::enable_screensaver(); %};

std::vector<std::string> scan_serial_ports()
    %code{% RETVAL=Slic3r::Utils::scan_serial_ports(); %};

bool debugged()
    %code{% RETVAL=Slic3r::GUI::debugged(); %};

void break_to_debugger()
    %code{% Slic3r::GUI::break_to_debugger(); %};

bool is_windows10()
    %code{% RETVAL=Slic3r::is_windows10(); %};

void set_wxapp(SV *ui)
    %code%{ Slic3r::GUI::set_wxapp((wxApp*)wxPli_sv_2_object(aTHX_ ui, "Wx::App")); %};

void set_gui_appctl()
    %code%{ Slic3r::GUI::set_gui_appctl(); %};

void set_cli_appctl()
    %code%{ Slic3r::GUI::set_cli_appctl(); %};

void set_progress_status_bar(ProgressStatusBar *prs)
    %code%{ Slic3r::GUI::set_progress_status_bar(prs); %};

void set_main_frame(SV *ui)
    %code%{ Slic3r::GUI::set_main_frame((wxFrame*)wxPli_sv_2_object(aTHX_ ui, "Wx::Frame")); %};

void set_tab_panel(SV *ui)
    %code%{ Slic3r::GUI::set_tab_panel((wxNotebook*)wxPli_sv_2_object(aTHX_ ui, "Wx::Notebook")); %};

void set_plater(SV *ui)
    %code%{ Slic3r::GUI::set_plater((wxPanel*)wxPli_sv_2_object(aTHX_ ui, "Wx::Panel")); %};

void add_menus(SV *ui, int event_preferences_changed, int event_language_change)    
    %code%{ Slic3r::GUI::add_menus((wxMenuBar*)wxPli_sv_2_object(aTHX_ ui, "Wx::MenuBar"), event_preferences_changed, event_language_change); %};

void create_preset_tabs(int event_value_change, int event_presets_changed)
    %code%{ Slic3r::GUI::create_preset_tabs(event_value_change, event_presets_changed); %};

void show_error_id(int id, std::string msg)
    %code%{ Slic3r::GUI::show_error_id(id, msg); %};

TabIface* get_preset_tab(char *name)
    %code%{ RETVAL=Slic3r::GUI::get_preset_tab_iface(name); %};

PreviewIface* create_preview_iface(SV *ui, DynamicPrintConfig* config, Print* print, GCodePreviewData* gcode_preview_data)
    %code%{ RETVAL=Slic3r::GUI::create_preview_iface((wxNotebook*)wxPli_sv_2_object(aTHX_ ui, "Wx::Notebook"), config, print, gcode_preview_data); %};

bool load_language()
    %code%{ RETVAL=Slic3r::GUI::load_language(); %};

void create_combochecklist(SV *ui, std::string text, std::string items, bool initial_value)
    %code%{ Slic3r::GUI::create_combochecklist((wxComboCtrl*)wxPli_sv_2_object(aTHX_ ui, "Wx::ComboCtrl"), text, items, initial_value); %};
        
int combochecklist_get_flags(SV *ui)
    %code%{ RETVAL=Slic3r::GUI::combochecklist_get_flags((wxComboCtrl*)wxPli_sv_2_object(aTHX_ ui, "Wx::ComboCtrl")); %};

void set_app_config(AppConfig *app_config)
    %code%{ Slic3r::GUI::set_app_config(app_config); %};

bool check_unsaved_changes()
    %code%{ RETVAL=Slic3r::GUI::check_unsaved_changes(); %};

bool config_wizard_startup(int app_config_exists)
    %code%{
        RETVAL=Slic3r::GUI::config_wizard_startup(app_config_exists != 0);
    %};

void open_preferences_dialog(int preferences_event)
    %code%{ Slic3r::GUI::open_preferences_dialog(preferences_event); %};

void set_preset_bundle(PresetBundle *preset_bundle)
    %code%{ Slic3r::GUI::set_preset_bundle(preset_bundle); %};

void set_preset_updater(PresetUpdater* updater)
    %code%{ Slic3r::GUI::set_preset_updater(updater); %};

void add_frequently_changed_parameters(SV *ui_parent, SV *ui_sizer, SV *ui_p_sizer)
    %code%{ Slic3r::GUI::add_frequently_changed_parameters((wxWindow*)wxPli_sv_2_object(aTHX_ ui_parent, "Wx::Window"),
                                                           (wxBoxSizer*)wxPli_sv_2_object(aTHX_ ui_sizer, "Wx::BoxSizer"),
                                                           (wxFlexGridSizer*)wxPli_sv_2_object(aTHX_ ui_p_sizer, "Wx::FlexGridSizer")); %};

void set_print_callback_event(Print *print, int id)
    %code%{ Slic3r::GUI::set_print_callback_event(print, id); %};

void set_model_events_from_perl(Model *model,
                                int event_object_selection_changed,
                                int event_object_settings_changed,
                                int event_remove_object, 
                                int event_update_scene)
    %code%{ Slic3r::GUI::set_model_events_from_perl(*model,  
                                                    event_object_selection_changed,
                                                    event_object_settings_changed,
                                                    event_remove_object, 
                                                    event_update_scene); %};

void set_objects_from_perl( SV *ui_parent, 
                            SV *frequently_changed_parameters_sizer,
                            SV *info_sizer,
                            SV *btn_export_gcode,
                            SV *btn_reslice,
                            SV *btn_print,
                            SV *btn_send_gcode,
                            SV *manifold_warning_icon)
    %code%{ Slic3r::GUI::set_objects_from_perl(
                            (wxWindow *)wxPli_sv_2_object(aTHX_ ui_parent, "Wx::Window"),
                            (wxBoxSizer *)wxPli_sv_2_object(aTHX_ frequently_changed_parameters_sizer, "Wx::BoxSizer"),
                            (wxBoxSizer *)wxPli_sv_2_object(aTHX_ info_sizer, "Wx::BoxSizer"),
                            (wxButton *)wxPli_sv_2_object(aTHX_ btn_export_gcode, "Wx::Button"),
                            (wxButton *)wxPli_sv_2_object(aTHX_ btn_reslice, "Wx::Button"),
                            (wxButton *)wxPli_sv_2_object(aTHX_ btn_print, "Wx::Button"),
                            (wxButton *)wxPli_sv_2_object(aTHX_ btn_send_gcode, "Wx::Button"),
                            (wxStaticBitmap *)wxPli_sv_2_object(aTHX_ manifold_warning_icon, "Wx::StaticBitmap")); %};

void set_show_print_info(bool show)
    %code%{ Slic3r::GUI::set_show_print_info(show); %};

void set_show_manifold_warning_icon(bool show)
    %code%{ Slic3r::GUI::set_show_manifold_warning_icon(show); %};

void update_mode()
    %code%{ Slic3r::GUI::update_mode(); %};

void add_object_to_list(const char *name, SV *object_model)
    %code%{ Slic3r::GUI::add_object_to_list(
                    name, 
                    (ModelObject *)wxPli_sv_2_object(aTHX_ object_model, "Slic3r::Model::Object") ); %};

void delete_object_from_list()
    %code%{ Slic3r::GUI::delete_object_from_list(); %};

void delete_all_objects_from_list()
    %code%{ Slic3r::GUI::delete_all_objects_from_list(); %};

void set_object_count(int idx, int count)
    %code%{ Slic3r::GUI::set_object_count(idx, count); %};

void unselect_objects()
    %code%{ Slic3r::GUI::unselect_objects(); %};

void select_current_object(int idx)
    %code%{ Slic3r::GUI::select_current_object(idx); %};

void select_current_volume(int idx, int vol_idx)
    %code%{ Slic3r::GUI::select_current_volume(idx, vol_idx); %};

void remove_obj()
    %code%{ Slic3r::GUI::remove(); %};
    
std::string fold_utf8_to_ascii(const char *src)
    %code%{ RETVAL = Slic3r::fold_utf8_to_ascii(src); %};

void add_export_option(SV *ui, std::string format)
    %code%{ Slic3r::GUI::add_export_option((wxFileDialog*)wxPli_sv_2_object(aTHX_ ui, "Wx::FileDialog"), format); %};
    
int get_export_option(SV *ui)
    %code%{ RETVAL = Slic3r::GUI::get_export_option((wxFileDialog*)wxPli_sv_2_object(aTHX_ ui, "Wx::FileDialog")); %};
    
void desktop_open_datadir_folder()
    %code%{ Slic3r::GUI::desktop_open_datadir_folder(); %};

void fix_model_by_win10_sdk_gui(ModelObject *model_object_src, Print *print, Model *model_dst)
    %code%{ Slic3r::fix_model_by_win10_sdk_gui(*model_object_src, *print, *model_dst); %};

void register_on_request_update_callback(SV* callback)
    %code%{ Slic3r::GUI::g_on_request_update_callback.register_callback(callback); %};

void deregister_on_request_update_callback()
    %code%{ Slic3r::GUI::g_on_request_update_callback.deregister_callback(); %};

void create_double_slider(SV *ui_parent, SV *ui_sizer, SV *ui_canvas)
    %code%{ Slic3r::GUI::create_double_slider(  (wxWindow*)wxPli_sv_2_object(aTHX_ ui_parent, "Wx::Window"),
                                                (wxBoxSizer*)wxPli_sv_2_object(aTHX_ ui_sizer, "Wx::BoxSizer"),
                                                (wxGLCanvas*)wxPli_sv_2_object(aTHX_ ui_canvas, "Wx::GLCanvas")); %};

void update_double_slider(bool force_sliders_full_range)
    %code%{ Slic3r::GUI::update_double_slider(force_sliders_full_range); %};

void reset_double_slider()
    %code%{ Slic3r::GUI::reset_double_slider(); %};

void enable_action_buttons(bool enable)
    %code%{ Slic3r::GUI::enable_action_buttons(enable); %};

void save_window_size(SV *window, std::string name)
    %code%{ Slic3r::GUI::save_window_size((wxTopLevelWindow*)wxPli_sv_2_object(aTHX_ window, "Wx::TopLevelWindow"), name); %};

void restore_window_size(SV *window, std::string name)
    %code%{ Slic3r::GUI::restore_window_size((wxTopLevelWindow*)wxPli_sv_2_object(aTHX_ window, "Wx::TopLevelWindow"), name); %};