1# data file for the Fltk User Interface Designer (fluid)
2version 1.0300
3header_name {.h}
4code_name {.cxx}
5comment {//
6// "$Id: alignment_panel.fl 8089 2010-12-20 22:19:24Z matt $"
7//
8// Setting and shell dialogs for the Fast Light Tool Kit (FLTK).
9//
10// Copyright 1998-2010 by Bill Spitzak and others.
11//
12// This library is free software; you can redistribute it and/or
13// modify it under the terms of the GNU Library General Public
14// License as published by the Free Software Foundation; either
15// version 2 of the License, or (at your option) any later version.
16//
17// This library is distributed in the hope that it will be useful,
18// but WITHOUT ANY WARRANTY; without even the implied warranty of
19// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20// Library General Public License for more details.
21//
22// You should have received a copy of the GNU Library General Public
23// License along with this library; if not, write to the Free Software
24// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
25// USA.
26//
27// Please report all bugs and problems on the following page:
28//
29//     http://www.fltk.org/str.php
30//
31} {in_source in_header
32}
33
34decl {\#include <FL/Fl_Text_Buffer.H>} {public local
35}
36
37decl {\#include <FL/Fl_Text_Display.H>} {public local
38}
39
40decl {\#include <FL/filename.H>} {public local
41}
42
43decl {\#include <FL/Fl_Preferences.H>} {private global
44}
45
46decl {\#include <FL/fl_ask.H>} {private global
47}
48
49decl {extern void load_history();} {public local
50}
51
52decl {extern void redraw_browser();} {public local
53}
54
55decl {extern int show_comments;} {public local
56}
57
58decl {extern int show_coredevmenus;} {public local
59}
60
61decl {extern struct Fl_Menu_Item *dbmanager_item;} {public local
62}
63
64decl {extern Fl_Preferences fluid_prefs;} {public local
65}
66
67decl {Fl_Text_Buffer *shell_run_buffer;} {public local
68}
69
70Function {make_project_window()} {} {
71  Fl_Window project_window {
72    label {Project Settings} open
73    xywh {393 460 399 252} type Double
74    code0 {\#include <FL/Fl_Preferences.H>}
75    code1 {\#include <FL/Fl_Tooltip.H>} modal visible
76  } {
77    Fl_Button {} {
78      label Close
79      callback {project_window->hide();}
80      tooltip {Close this dialog.} xywh {328 216 60 25}
81    }
82    Fl_Tabs {} {open
83      xywh {10 10 378 195} selection_color 12
84    } {
85      Fl_Group {} {
86        label Output open
87        xywh {10 36 378 169} hide
88      } {
89        Fl_Box {} {
90          label {Use "name.ext" to set a file name or just ".ext" to set extension.}
91          xywh {100 49 236 49} align 144
92        }
93        Fl_Input header_file_input {
94          label {Header File:}
95          user_data 1 user_data_type {void*}
96          callback header_input_cb
97          tooltip {The name of the generated header file.} xywh {99 103 272 20} box THIN_DOWN_BOX labelfont 1 when 1 textfont 4
98        }
99        Fl_Input code_file_input {
100          label {Code File:}
101          user_data 1 user_data_type {void*}
102          callback code_input_cb
103          tooltip {The name of the generated code file.} xywh {100 128 272 20} box THIN_DOWN_BOX labelfont 1 when 1 textfont 4
104        }
105        Fl_Check_Button include_H_from_C_button {
106          label {Include Header from Code}
107          callback include_H_from_C_button_cb
108          tooltip {Include the header file from the code file.} xywh {100 153 272 20} down_box DOWN_BOX
109        }
110        Fl_Check_Button use_FL_COMMAND_button {
111          label {Menu shortcuts use FL_COMMAND}
112          callback use_FL_COMMAND_button_cb
113          tooltip {Replace FL_CTRL with FL_COMMAND when generating menu shortcut code.} xywh {100 176 272 20} down_box DOWN_BOX
114        }
115      }
116      Fl_Group {} {
117        label Internationalization open
118        xywh {10 36 378 169}
119      } {
120        Fl_Choice i18n_type_chooser {
121          label {Use:}
122          callback i18n_type_cb open
123          tooltip {Type of internationalization to use.} xywh {100 48 136 25} box THIN_UP_BOX down_box BORDER_BOX labelfont 1
124        } {
125          MenuItem {} {
126            label None
127            xywh {0 0 100 20}
128          }
129          MenuItem {} {
130            label {GNU gettext}
131            xywh {0 0 100 20}
132          }
133          MenuItem {} {
134            label {POSIX catgets}
135            xywh {0 0 100 20}
136          }
137        }
138        Fl_Input i18n_include_input {
139          label {\#include:}
140          callback i18n_text_cb
141          tooltip {The include file for internationalization.} xywh {100 78 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
142        }
143        Fl_Input i18n_file_input {
144          label {File:}
145          callback i18n_text_cb
146          tooltip {The name of the message catalog.} xywh {100 104 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
147        }
148        Fl_Input i18n_set_input {
149          label {Set:}
150          callback i18n_int_cb
151          tooltip {The message set number.} xywh {100 128 272 20} type Int box THIN_DOWN_BOX labelfont 1 textfont 4
152        }
153        Fl_Input i18n_function_input {
154          label {Function:}
155          callback i18n_text_cb
156          tooltip {The function to call to internationalize the labels and tooltips.} xywh {100 103 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
157        }
158      }
159    }
160  }
161}
162
163decl {extern void i18n_cb(Fl_Choice *,void *);} {public local
164}
165
166decl {void scheme_cb(Fl_Choice *, void *);} {public local
167}
168
169Function {make_settings_window()} {} {
170  Fl_Window settings_window {
171    label {GUI Settings} open
172    xywh {393 191 339 241} type Double non_modal visible
173  } {
174    Fl_Choice scheme_choice {
175      label {Scheme: }
176      callback scheme_cb open
177      xywh {116 10 115 25} down_box BORDER_BOX labelfont 1
178      code0 {int s;}
179      code1 {fluid_prefs.get("scheme", s, 0);}
180      code2 {scheme_choice->value(s);}
181      code3 {scheme_cb(0, 0);}
182    } {
183      MenuItem {} {
184        label Default
185        xywh {0 0 35 25}
186      }
187      MenuItem {} {
188        label None
189        xywh {0 0 35 25}
190      }
191      MenuItem {} {
192        label Plastic
193        xywh {0 0 35 25}
194      }
195      MenuItem {} {
196        label {GTK+}
197        xywh {10 10 35 25}
198      }
199    }
200    Fl_Group {} {open
201      xywh {116 43 220 126} labelfont 1 align 0
202    } {
203      Fl_Box {} {
204        label {Options: }
205        xywh {116 43 1 25} labelfont 1 align 4
206      }
207      Fl_Check_Button tooltips_button {
208        label {Show Tooltips}
209        callback {Fl_Tooltip::enable(tooltips_button->value());
210fluid_prefs.set("show_tooltips", tooltips_button->value());}
211        xywh {116 43 113 25} down_box DOWN_BOX
212        code0 {int b;}
213        code1 {fluid_prefs.get("show_tooltips", b, 1);}
214        code2 {tooltips_button->value(b);}
215        code3 {Fl_Tooltip::enable(b);}
216      }
217      Fl_Check_Button completion_button {
218        label {Show Completion Dialogs}
219        callback {fluid_prefs.set("show_completion_dialogs", completion_button->value());}
220        xywh {116 68 186 25} down_box DOWN_BOX
221        code0 {int b;}
222        code1 {fluid_prefs.get("show_completion_dialogs", b, 1);}
223        code2 {completion_button->value(b);}
224      }
225      Fl_Check_Button openlast_button {
226        label {Open Previous File on Startup}
227        callback {fluid_prefs.set("open_previous_file", openlast_button->value());}
228        xywh {116 93 214 25} down_box DOWN_BOX
229        code0 {int b;}
230        code1 {fluid_prefs.get("open_previous_file", b, 0);}
231        code2 {openlast_button->value(b);}
232      }
233      Fl_Check_Button prevpos_button {
234        label {Remember Window Positions}
235        callback {fluid_prefs.set("prev_window_pos", prevpos_button->value());}
236        xywh {116 118 209 25} down_box DOWN_BOX
237        code0 {int b;}
238        code1 {fluid_prefs.get("prev_window_pos", b, 1);}
239        code2 {prevpos_button->value(b);}
240      }
241      Fl_Check_Button show_comments_button {
242        label {Show Comments in Browser}
243        callback {show_comments = show_comments_button->value();
244fluid_prefs.set("show_comments", show_comments);
245redraw_browser();}
246        xywh {116 143 209 25} down_box DOWN_BOX
247        code1 {fluid_prefs.get("show_comments", show_comments, 1);}
248        code2 {show_comments_button->value(show_comments);}
249      }
250    }
251    Fl_Spinner recent_spinner {
252      label {\# Recent Files: }
253      callback {fluid_prefs.set("recent_files", recent_spinner->value());
254load_history();}
255      xywh {115 173 40 25} labelfont 1 when 1
256      code0 {int c;}
257      code1 {fluid_prefs.get("recent_files", c, 5);}
258      code2 {recent_spinner->maximum(10);}
259      code3 {recent_spinner->value(c);}
260    }
261    Fl_Button {} {
262      label Close
263      callback {settings_window->hide();}
264      tooltip {Close this dialog.} xywh {266 205 64 25}
265    }
266  }
267}
268
269Function {make_shell_window()} {} {
270  Fl_Window shell_window {
271    label {Shell Command} open
272    xywh {741 195 365 125} type Double visible
273  } {
274    Fl_Input shell_command_input {
275      label {Command:}
276      callback {fluid_prefs.set("shell_command", shell_command_input->value());}
277      xywh {10 27 347 25} labelfont 1 align 5
278      code0 {char buf[1024];}
279      code1 {fluid_prefs.get("shell_command", buf, "", sizeof(buf));}
280      code2 {shell_command_input->value(buf);}
281    }
282    Fl_Check_Button shell_writecode_button {
283      label {Write Code}
284      callback {fluid_prefs.set("shell_writecode", shell_writecode_button->value());}
285      xywh {128 61 93 19} down_box DOWN_BOX
286      code0 {int b;}
287      code1 {fluid_prefs.get("shell_writecode", b, 1);}
288      code2 {shell_writecode_button->value(b);}
289    }
290    Fl_Check_Button shell_writemsgs_button {
291      label {Write Messages}
292      callback {fluid_prefs.set("shell_writemsgs", shell_writemsgs_button->value());}
293      xywh {231 61 126 19} down_box DOWN_BOX
294      code0 {int b;}
295      code1 {fluid_prefs.get("shell_writemsgs", b, 0);}
296      code2 {shell_writemsgs_button->value(b);}
297    }
298    Fl_Check_Button shell_savefl_button {
299      label {Save .FL File}
300      callback {fluid_prefs.set("shell_savefl", shell_savefl_button->value());}
301      xywh {10 62 108 19} down_box DOWN_BOX
302      code0 {int b;}
303      code1 {fluid_prefs.get("shell_savefl", b, 1);}
304      code2 {shell_savefl_button->value(b);}
305    }
306    Fl_Return_Button {} {
307      label {Run Command}
308      callback do_shell_command
309      xywh {132 90 143 25}
310    }
311    Fl_Button {} {
312      label Cancel
313      callback {shell_window->hide();}
314      xywh {285 90 72 25}
315    }
316  }
317  Fl_Window shell_run_window {
318    label {Shell Command Output}
319    xywh {592 332 555 430} type Double hide resizable
320  } {
321    Fl_Text_Display shell_run_display {
322      xywh {10 10 535 375} box DOWN_BOX textfont 4 resizable
323      code0 {shell_run_buffer = new Fl_Text_Buffer();}
324      code1 {shell_run_display->buffer(shell_run_buffer);}
325    }
326    Fl_Return_Button shell_run_button {
327      label Close
328      callback {shell_run_window->hide();}
329      xywh {468 395 77 25}
330    }
331  }
332}
333
334Function {make_layout_window()} {} {
335  Fl_Window grid_window {
336    label {Layout Settings} open
337    xywh {760 427 285 245} type Double non_modal visible
338  } {
339    Fl_Input horizontal_input {
340      label x
341      user_data 1 user_data_type long
342      callback grid_cb
343      tooltip {Horizontal grid spacing.} xywh {106 10 50 25} type Int box THIN_DOWN_BOX align 8
344      code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
345    }
346    Fl_Input vertical_input {
347      label pixels
348      user_data 2 user_data_type long
349      callback grid_cb
350      tooltip {Vertical grid spacing.} xywh {166 10 50 25} type Int box THIN_DOWN_BOX align 8
351      code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
352    }
353    Fl_Input snap_input {
354      label {pixel snap}
355      user_data 3 user_data_type long
356      callback grid_cb
357      tooltip {Snap to grid within this many pixels.} xywh {106 45 50 25} type Int box THIN_DOWN_BOX align 8
358      code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
359    }
360    Fl_Check_Button guides_toggle {
361      label {Show Guides}
362      user_data 4 user_data_type long
363      callback guides_cb
364      tooltip {Show distance and alignment guides in overlay} xywh {106 80 110 25} down_box DOWN_BOX
365    }
366    Fl_Button {} {
367      label Close
368      callback {grid_window->hide();}
369      tooltip {Close this dialog.} xywh {215 210 60 25}
370    }
371    Fl_Box {} {
372      label {Grid:}
373      xywh {26 10 70 25} labelfont 1 align 24
374    }
375    Fl_Box {} {
376      label {Widget Size:}
377      xywh {-1 115 97 25} labelfont 1 align 24
378    }
379    Fl_Group {} {open
380      xywh {105 115 170 75}
381    } {
382      Fl_Round_Button {def_widget_size[0]} {
383        user_data 8 user_data_type long
384        callback default_widget_size_cb
385        xywh {105 115 70 25} type Radio down_box ROUND_DOWN_BOX
386      }
387      Fl_Box {} {
388        label tiny
389        xywh {120 115 50 25} labelsize 8 align 20
390      }
391      Fl_Round_Button {def_widget_size[1]} {
392        user_data 11 user_data_type long
393        callback default_widget_size_cb
394        xywh {180 115 70 25} type Radio down_box ROUND_DOWN_BOX
395      }
396      Fl_Box {} {
397        label small
398        xywh {195 115 50 25} labelsize 11 align 20
399      }
400      Fl_Round_Button {def_widget_size[2]} {
401        user_data 14 user_data_type long
402        callback default_widget_size_cb
403        xywh {105 140 70 25} type Radio down_box ROUND_DOWN_BOX
404      }
405      Fl_Box {} {
406        label normal
407        xywh {120 140 50 25} align 20
408      }
409      Fl_Round_Button {def_widget_size[3]} {
410        user_data 18 user_data_type long
411        callback default_widget_size_cb
412        xywh {180 140 90 25} type Radio down_box ROUND_DOWN_BOX
413      }
414      Fl_Box {} {
415        label medium
416        xywh {195 140 68 25} labelsize 18 align 20
417      }
418      Fl_Round_Button {def_widget_size[4]} {
419        user_data 24 user_data_type long
420        callback default_widget_size_cb
421        xywh {105 165 75 25} type Radio down_box ROUND_DOWN_BOX
422      }
423      Fl_Box {} {
424        label large
425        xywh {120 165 64 25} labelsize 24 align 20
426      }
427      Fl_Round_Button {def_widget_size[5]} {
428        user_data 32 user_data_type long
429        callback default_widget_size_cb
430        xywh {180 165 95 25} type Radio down_box ROUND_DOWN_BOX
431      }
432      Fl_Box {} {
433        label huge
434        xywh {195 165 76 25} labelsize 32 align 20
435      }
436    }
437  }
438}
439
440decl {int opt[10][2];} {
441  comment {Copy of all options in user and system mode} private local
442}
443
444Function {refreshUI()} {
445  comment {Update the UI using the values in the opt array} private return_type void
446} {
447  code {int mode = wUserOrSystem->value();
448wVisibleFocus->value(opt[Fl::OPTION_VISIBLE_FOCUS][mode]);
449wArrowFocus->value(opt[Fl::OPTION_ARROW_FOCUS][mode]);
450wShowTooltips->value(opt[Fl::OPTION_SHOW_TOOLTIPS][mode]);
451wDNDText->value(opt[Fl::OPTION_DND_TEXT][mode]);} {}
452}
453
454Function {readPrefs()} {
455  comment {read all preferences and refresh the GUI} private return_type void
456} {
457  code {// read all preferences and refresh the GUI
458{
459  Fl_Preferences prefs(Fl_Preferences::SYSTEM, "fltk.org", "fltk");
460  Fl_Preferences opt_prefs(prefs, "options");
461  opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1], 2);
462  opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1], 2);
463  opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][1], 2);
464  opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1], 2);
465}
466{
467  Fl_Preferences prefs(Fl_Preferences::USER, "fltk.org", "fltk");
468  Fl_Preferences opt_prefs(prefs, "options");
469  opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0], 2);
470  opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0], 2);
471  opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][0], 2);
472  opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0], 2);
473}
474refreshUI();} {}
475}
476
477Function {writePrefs()} {
478  comment {write all preferences using the array} private return_type void
479} {
480  code {// write all preferences using the array
481{
482  Fl_Preferences prefs(Fl_Preferences::SYSTEM, "fltk.org", "fltk");
483  Fl_Preferences opt_prefs(prefs, "options");
484  if (opt[Fl::OPTION_ARROW_FOCUS][1]==2) opt_prefs.deleteEntry("ArrowFocus");
485  else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1]);
486  if (opt[Fl::OPTION_VISIBLE_FOCUS][1]==2) opt_prefs.deleteEntry("VisibleFocus");
487  else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1]);
488  if (opt[Fl::OPTION_DND_TEXT][1]==2) opt_prefs.deleteEntry("DNDText");
489  else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][1]);
490  if (opt[Fl::OPTION_SHOW_TOOLTIPS][1]==2) opt_prefs.deleteEntry("ShowTooltips");
491  else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1]);
492}
493{
494  Fl_Preferences prefs(Fl_Preferences::USER, "fltk.org", "fltk");
495  Fl_Preferences opt_prefs(prefs, "options");
496  if (opt[Fl::OPTION_ARROW_FOCUS][0]==2) opt_prefs.deleteEntry("ArrowFocus");
497  else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0]);
498  if (opt[Fl::OPTION_VISIBLE_FOCUS][0]==2) opt_prefs.deleteEntry("VisibleFocus");
499  else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0]);
500  if (opt[Fl::OPTION_DND_TEXT][0]==2) opt_prefs.deleteEntry("DNDText");
501  else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][0]);
502  if (opt[Fl::OPTION_SHOW_TOOLTIPS][0]==2) opt_prefs.deleteEntry("ShowTooltips");
503  else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0]);
504}} {}
505}
506
507Function {show_global_settings_window()} {open return_type void
508} {
509  code {if (!global_settings_window)
510  make_global_settings_window();
511readPrefs();
512refreshUI();
513fl_message(
514	"WARNING!\\n\\n"
515	"The following dialog changes the user interface behavior\\n"
516	"of ALL FLTK applications, for the current user, or for \\n"
517	"ALL users on this machine.\\n\\n"
518	"Please choose these settings carefully, or reset\\n"
519	"user and system settings to \\"default\\".");
520global_settings_window->show();} {selected
521  }
522}
523
524Function {make_global_settings_window()} {} {
525  Fl_Window global_settings_window {
526    label {FLTK Preferences} open
527    xywh {444 220 403 317} type Double color 50 visible
528  } {
529    Fl_Group {} {
530      label {Keyboard Focus Options} open
531      xywh {10 10 380 100} box GTK_DOWN_BOX labelfont 2 align 21
532    } {
533      Fl_Choice wVisibleFocus {
534        label {Visible Keyboard Focus:}
535        callback {int mode = wUserOrSystem->value();
536opt[Fl::OPTION_VISIBLE_FOCUS][mode] = wVisibleFocus->value();} open
537        tooltip {OPTION_VISIBLE_FOCUS
538
539If visible focus is switched on, FLTK will draw a dotted rectangle inside the widget that will receive the next keystroke. If switched off, no such indicator will be drawn and keyboard navigation is disabled.
540
541Default is on.} xywh {245 40 100 25} down_box BORDER_BOX
542      } {
543        MenuItem {} {
544          label off
545          user_data 0 user_data_type long
546          xywh {10 10 31 20}
547        }
548        MenuItem {} {
549          label on
550          user_data 1 user_data_type long
551          xywh {10 10 31 20} divider
552        }
553        MenuItem {} {
554          label default
555          user_data 2 user_data_type long
556          xywh {10 10 31 20}
557        }
558      }
559      Fl_Choice wArrowFocus {
560        label {Arrow Keys move Focus:}
561        callback {int mode = wUserOrSystem->value();
562opt[Fl::OPTION_ARROW_FOCUS][mode] = wArrowFocus->value();} open
563        tooltip {OPTION_ARROW_FOCUS
564
565When switched on, moving the text cursor beyond the start or end of the text in a text widget will change focus to the next widget. When switched off, the cursor will stop at the end of the text. Pressing Tab or Ctrl-Tab will advance the keyboard focus. Switch this on, if you want the old behavior of FLTK 1.1.
566
567Default is off.} xywh {245 75 100 25} down_box BORDER_BOX
568      } {
569        MenuItem {} {
570          label off
571          user_data 0 user_data_type long
572          xywh {0 0 31 20}
573        }
574        MenuItem {} {
575          label on
576          user_data 1 user_data_type long
577          xywh {0 0 31 20} divider
578        }
579        MenuItem {} {
580          label default
581          user_data 2 user_data_type long
582          xywh {0 0 31 20}
583        }
584      }
585    }
586    Fl_Group {} {
587      label {Tooltip Options} open
588      xywh {10 120 380 65} box GTK_DOWN_BOX labelfont 2 align 21
589    } {
590      Fl_Choice wShowTooltips {
591        label {Show Tooltips:}
592        callback {int mode = wUserOrSystem->value();
593opt[Fl::OPTION_SHOW_TOOLTIPS][mode] = wShowTooltips->value();} open
594        tooltip {OPTION_SHOW_TOOLTIPS
595
596If tooltips are enabled, hovering the mouse over a widget with a tooltip text will open a little tooltip window until the mouse leaves the widget. If disabled, no tooltip is shown.
597
598Default is on.} xywh {245 150 100 25} down_box BORDER_BOX
599      } {
600        MenuItem {} {
601          label off
602          user_data 0 user_data_type long
603          xywh {10 10 31 20}
604        }
605        MenuItem {} {
606          label on
607          user_data 1 user_data_type long
608          xywh {10 10 31 20} divider
609        }
610        MenuItem {} {
611          label default
612          user_data 2 user_data_type long
613          xywh {10 10 31 20}
614        }
615      }
616    }
617    Fl_Group {} {
618      label {Drag And Drop Options} open
619      xywh {10 194 380 66} box GTK_DOWN_BOX labelfont 2 align 21
620    } {
621      Fl_Choice wDNDText {
622        label {Allow dragging Text:}
623        callback {int mode = wUserOrSystem->value();
624opt[Fl::OPTION_DND_TEXT][mode] = wDNDText->value();} open
625        tooltip {OPTION_DND_TEXT
626
627If text drag-and-drop is enabled, the user can select and drag text from any text widget. If disabled, no dragging is possible, however dropping text from other applications still works.
628
629Default is on.} xywh {245 225 100 25} down_box BORDER_BOX
630      } {
631        MenuItem {} {
632          label off
633          user_data 0 user_data_type long
634          xywh {30 30 31 20}
635        }
636        MenuItem {} {
637          label on
638          user_data 1 user_data_type long
639          xywh {30 30 31 20} divider
640        }
641        MenuItem {} {
642          label default
643          user_data 2 user_data_type long
644          xywh {30 30 31 20}
645        }
646      }
647    }
648    Fl_Choice wUserOrSystem {
649      callback {refreshUI();} open
650      tooltip {Change settings for the current user, or default values for all users of this computer. Individual users can override system options, if they set their options to specific values (not 'default').} xywh {14 275 141 25} down_box BORDER_BOX
651    } {
652      MenuItem {} {
653        label {User Settings}
654        user_data 0 user_data_type long
655        xywh {0 0 31 20}
656      }
657      MenuItem {} {
658        label {System Settings}
659        user_data 1 user_data_type long
660        xywh {0 0 31 20}
661      }
662    }
663    Fl_Button {} {
664      label Cancel
665      callback {global_settings_window->hide();}
666      xywh {230 275 75 25}
667    }
668    Fl_Button {} {
669      label OK
670      callback {writePrefs();
671global_settings_window->hide();}
672      xywh {315 275 75 25}
673    }
674  }
675  code {readPrefs();
676  Fl::option(Fl::OPTION_SHOW_TOOLTIPS,1); // make sure tooltips are on !} {}
677}
678
679comment {
680//
681// End of "$Id: alignment_panel.fl 8089 2010-12-20 22:19:24Z matt $".
682//} {in_source in_header
683}
684