summaryrefslogtreecommitdiff
path: root/fluid/alignment_panel.fl
blob: 946453ee9b85a704a266e009bf90ca75ebca0036 (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
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
# data file for the Fltk User Interface Designer (fluid)
version 1.0303 
header_name {.h} 
code_name {.cxx}
comment {//
// "$Id: alignment_panel.fl 10353 2014-10-05 00:03:27Z AlbrechtS $"
//
// Setting and shell dialogs for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2014 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file.  If this
// file is missing or damaged, see the license at:
//
//     http://www.fltk.org/COPYING.php
//
// Please report all bugs and problems on the following page:
//
//     http://www.fltk.org/str.php
//
} {in_source in_header
} 

decl {\#include <FL/Fl_Text_Buffer.H>} {public local
} 

decl {\#include <FL/Fl_Text_Display.H>} {public local
} 

decl {\#include <FL/filename.H>} {public local
} 

decl {\#include <FL/Fl_Preferences.H>} {private global
} 

decl {\#include <FL/fl_ask.H>} {private global
} 

decl {extern void load_history();} {public local
} 

decl {extern void redraw_browser();} {public local
} 

decl {extern int show_comments;} {public local
} 

decl {extern int show_coredevmenus;} {public local
} 

decl {extern struct Fl_Menu_Item *dbmanager_item;} {public local
} 

decl {extern Fl_Preferences fluid_prefs;} {public local
} 

decl {Fl_Text_Buffer *shell_run_buffer;} {public local
} 

Function {make_project_window()} {open
} {
  Fl_Window project_window {
    label {Project Settings} open
    xywh {396 475 399 252} type Double
    code0 {\#include <FL/Fl_Preferences.H>}
    code1 {\#include <FL/Fl_Tooltip.H>} modal visible
  } {
    Fl_Button {} {
      label Close
      callback {project_window->hide();}
      tooltip {Close this dialog.} xywh {328 216 60 25}
    }
    Fl_Tabs {} {open
      xywh {10 10 378 195} selection_color 12
    } {
      Fl_Group {} {
        label Output open
        xywh {10 36 378 169} hide
      } {
        Fl_Box {} {
          label {Use "name.ext" to set a file name or just ".ext" to set extension.}
          xywh {20 49 340 49} align 148
        }
        Fl_Input header_file_input {
          label {Header File:}
          user_data 1 user_data_type {void*}
          callback header_input_cb
          tooltip {The name of the generated header file.} xywh {119 103 252 20} box THIN_DOWN_BOX labelfont 1 when 1 textfont 4
        }
        Fl_Input code_file_input {
          label {Code File:}
          user_data 1 user_data_type {void*}
          callback code_input_cb
          tooltip {The name of the generated code file.} xywh {119 128 252 20} box THIN_DOWN_BOX labelfont 1 when 1 textfont 4
        }
        Fl_Check_Button include_H_from_C_button {
          label {Include Header from Code}
          callback include_H_from_C_button_cb
          tooltip {Include the header file from the code file.} xywh {117 153 272 20} down_box DOWN_BOX
        }
        Fl_Check_Button use_FL_COMMAND_button {
          label {Menu shortcuts use FL_COMMAND}
          callback use_FL_COMMAND_button_cb
          tooltip {Replace FL_CTRL with FL_COMMAND when generating menu shortcut code.} xywh {117 176 272 20} down_box DOWN_BOX
        }
      }
      Fl_Group {} {
        label Internationalization open
        xywh {10 36 378 169}
      } {
        Fl_Choice i18n_type_chooser {
          label {Use:}
          callback i18n_type_cb open
          tooltip {Type of internationalization to use.} xywh {100 48 136 25} box THIN_UP_BOX down_box BORDER_BOX labelfont 1
        } {
          MenuItem {} {
            label None
            xywh {0 0 100 20}
          }
          MenuItem {} {
            label {GNU gettext}
            xywh {0 0 100 20}
          }
          MenuItem {} {
            label {POSIX catgets}
            xywh {0 0 100 20}
          }
        }
        Fl_Input i18n_include_input {
          label {\#include:}
          callback i18n_text_cb selected
          tooltip {The include file for internationalization.} xywh {100 78 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
        }
        Fl_Input i18n_file_input {
          label {File:}
          callback i18n_text_cb
          tooltip {The name of the message catalog.} xywh {100 104 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
        }
        Fl_Input i18n_set_input {
          label {Set:}
          callback i18n_int_cb
          tooltip {The message set number.} xywh {100 128 272 20} type Int box THIN_DOWN_BOX labelfont 1 textfont 4
        }
        Fl_Input i18n_function_input {
          label {Function:}
          callback i18n_text_cb
          tooltip {The function to call to internationalize the labels and tooltips.} xywh {100 103 272 20} box THIN_DOWN_BOX labelfont 1 textfont 4
        }
      }
    }
  }
} 

decl {extern void i18n_cb(Fl_Choice *,void *);} {public local
} 

decl {void scheme_cb(Fl_Choice *, void *);} {public local
} 

Function {make_settings_window()} {} {
  Fl_Window settings_window {
    label {GUI Settings} open
    xywh {393 191 349 241} type Double non_modal visible
  } {
    Fl_Choice scheme_choice {
      label {Scheme: }
      callback scheme_cb open
      xywh {140 10 115 25} down_box BORDER_BOX labelfont 1
      code0 {int s;}
      code1 {fluid_prefs.get("scheme", s, 0);}
      code2 {scheme_choice->value(s);}
      code3 {scheme_cb(0, 0);}
    } {
      MenuItem {} {
        label Default
        xywh {0 0 35 25}
      }
      MenuItem {} {
        label None
        xywh {0 0 35 25}
      }
      MenuItem {} {
        label Plastic
        xywh {0 0 35 25}
      }
      MenuItem {} {
        label {GTK+}
        xywh {10 10 35 25}
      }
      MenuItem {} {
        label Gleam
        xywh {20 20 35 25}
      }
    }
    Fl_Group {} {open
      xywh {116 43 220 126} labelfont 1 align 0
    } {
      Fl_Box {} {
        label {Options: }
        xywh {140 43 1 25} labelfont 1 align 4
      }
      Fl_Check_Button tooltips_button {
        label {Show Tooltips}
        callback {Fl_Tooltip::enable(tooltips_button->value());
fluid_prefs.set("show_tooltips", tooltips_button->value());}
        xywh {138 43 113 25} down_box DOWN_BOX labelsize 12
        code0 {int b;}
        code1 {fluid_prefs.get("show_tooltips", b, 1);}
        code2 {tooltips_button->value(b);}
        code3 {Fl_Tooltip::enable(b);}
      }
      Fl_Check_Button completion_button {
        label {Show Completion Dialogs}
        callback {fluid_prefs.set("show_completion_dialogs", completion_button->value());}
        xywh {138 68 186 25} down_box DOWN_BOX labelsize 12
        code0 {int b;}
        code1 {fluid_prefs.get("show_completion_dialogs", b, 1);}
        code2 {completion_button->value(b);}
      }
      Fl_Check_Button openlast_button {
        label {Open Previous File on Startup}
        callback {fluid_prefs.set("open_previous_file", openlast_button->value());}
        xywh {138 93 214 25} down_box DOWN_BOX labelsize 12
        code0 {int b;}
        code1 {fluid_prefs.get("open_previous_file", b, 0);}
        code2 {openlast_button->value(b);}
      }
      Fl_Check_Button prevpos_button {
        label {Remember Window Positions}
        callback {fluid_prefs.set("prev_window_pos", prevpos_button->value());}
        xywh {138 118 209 25} down_box DOWN_BOX labelsize 12
        code0 {int b;}
        code1 {fluid_prefs.get("prev_window_pos", b, 1);}
        code2 {prevpos_button->value(b);}
      }
      Fl_Check_Button show_comments_button {
        label {Show Comments in Browser}
        callback {show_comments = show_comments_button->value();
fluid_prefs.set("show_comments", show_comments);
redraw_browser();}
        xywh {138 143 209 25} down_box DOWN_BOX labelsize 12
        code1 {fluid_prefs.get("show_comments", show_comments, 1);}
        code2 {show_comments_button->value(show_comments);}
      }
    }
    Fl_Spinner recent_spinner {
      label {\# Recent Files: }
      callback {fluid_prefs.set("recent_files", recent_spinner->value());
load_history();}
      xywh {140 173 40 25} labelfont 1 when 1
      code0 {int c;}
      code1 {fluid_prefs.get("recent_files", c, 5);}
      code2 {recent_spinner->maximum(10);}
      code3 {recent_spinner->value(c);}
    }
    Fl_Button {} {
      label Close
      callback {settings_window->hide();}
      tooltip {Close this dialog.} xywh {276 205 64 25}
    }
  }
} 

Function {make_shell_window()} {} {
  Fl_Window shell_window {
    label {Shell Command} open
    xywh {761 190 365 125} type Double visible
  } {
    Fl_Input shell_command_input {
      label {Command:}
      callback {fluid_prefs.set("shell_command", shell_command_input->value());}
      xywh {10 27 347 25} labelfont 1 align 5
      code0 {char buf[1024];}
      code1 {fluid_prefs.get("shell_command", buf, "", sizeof(buf));}
      code2 {shell_command_input->value(buf);}
    }
    Fl_Check_Button shell_writecode_button {
      label {Write Code}
      callback {fluid_prefs.set("shell_writecode", shell_writecode_button->value());}
      xywh {128 61 93 19} down_box DOWN_BOX
      code0 {int b;}
      code1 {fluid_prefs.get("shell_writecode", b, 1);}
      code2 {shell_writecode_button->value(b);}
    }
    Fl_Check_Button shell_writemsgs_button {
      label {Write Messages}
      callback {fluid_prefs.set("shell_writemsgs", shell_writemsgs_button->value());}
      xywh {231 61 126 19} down_box DOWN_BOX
      code0 {int b;}
      code1 {fluid_prefs.get("shell_writemsgs", b, 0);}
      code2 {shell_writemsgs_button->value(b);}
    }
    Fl_Check_Button shell_savefl_button {
      label {Save .FL File}
      callback {fluid_prefs.set("shell_savefl", shell_savefl_button->value());}
      xywh {10 62 108 19} down_box DOWN_BOX
      code0 {int b;}
      code1 {fluid_prefs.get("shell_savefl", b, 1);}
      code2 {shell_savefl_button->value(b);}
    }
    Fl_Return_Button {} {
      label {Run Command}
      callback do_shell_command
      xywh {132 90 143 25}
    }
    Fl_Button {} {
      label Cancel
      callback {shell_window->hide();}
      xywh {285 90 72 25}
    }
  }
  Fl_Window shell_run_window {
    label {Shell Command Output}
    xywh {592 332 555 430} type Double hide resizable
  } {
    Fl_Text_Display shell_run_display {
      xywh {10 10 535 375} box DOWN_BOX textfont 4 resizable
      code0 {shell_run_buffer = new Fl_Text_Buffer();}
      code1 {shell_run_display->buffer(shell_run_buffer);}
    }
    Fl_Return_Button shell_run_button {
      label Close
      callback {shell_run_window->hide();}
      xywh {468 395 77 25}
    }
  }
} 

Function {make_layout_window()} {} {
  Fl_Window grid_window {
    label {Layout Settings} open
    xywh {812 369 310 245} type Double non_modal visible
  } {
    Fl_Input horizontal_input {
      label x
      user_data 1 user_data_type long
      callback grid_cb
      tooltip {Horizontal grid spacing.} xywh {116 10 50 25} type Int box THIN_DOWN_BOX align 8
      code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
    }
    Fl_Input vertical_input {
      label pixels
      user_data 2 user_data_type long
      callback grid_cb
      tooltip {Vertical grid spacing.} xywh {179 10 50 25} type Int box THIN_DOWN_BOX align 8
      code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
    }
    Fl_Input snap_input {
      label {pixel snap}
      user_data 3 user_data_type long
      callback grid_cb
      tooltip {Snap to grid within this many pixels.} xywh {116 45 50 25} type Int box THIN_DOWN_BOX align 8
      code0 {o->when(FL_WHEN_RELEASE|FL_WHEN_ENTER_KEY);}
    }
    Fl_Check_Button guides_toggle {
      label {Show Guides}
      user_data 4 user_data_type long
      callback guides_cb
      tooltip {Show distance and alignment guides in overlay} xywh {116 80 110 25} down_box DOWN_BOX
    }
    Fl_Button {} {
      label Close
      callback {grid_window->hide();}
      tooltip {Close this dialog.} xywh {240 210 60 25}
    }
    Fl_Box {} {
      label {Grid:}
      xywh {47 10 70 25} labelfont 1 align 24
    }
    Fl_Box {} {
      label {Widget Size:}
      xywh {10 115 107 25} labelfont 1 align 24
    }
    Fl_Group {} {open
      xywh {105 115 170 75}
    } {
      Fl_Round_Button {def_widget_size[0]} {
        user_data 8 user_data_type long
        callback default_widget_size_cb
        xywh {115 115 70 25} type Radio down_box ROUND_DOWN_BOX
      }
      Fl_Box {} {
        label tiny
        xywh {130 115 50 25} labelsize 8 align 20
      }
      Fl_Round_Button {def_widget_size[1]} {
        user_data 11 user_data_type long
        callback default_widget_size_cb
        xywh {202 115 70 25} type Radio down_box ROUND_DOWN_BOX
      }
      Fl_Box {} {
        label small
        xywh {218 115 50 25} labelsize 11 align 20
      }
      Fl_Round_Button {def_widget_size[2]} {
        user_data 14 user_data_type long
        callback default_widget_size_cb
        xywh {115 140 70 25} type Radio down_box ROUND_DOWN_BOX
      }
      Fl_Box {} {
        label normal
        xywh {130 140 50 25} align 20
      }
      Fl_Round_Button {def_widget_size[3]} {
        user_data 18 user_data_type long
        callback default_widget_size_cb
        xywh {202 140 90 25} type Radio down_box ROUND_DOWN_BOX
      }
      Fl_Box {} {
        label medium
        xywh {218 140 68 25} labelsize 18 align 20
      }
      Fl_Round_Button {def_widget_size[4]} {
        user_data 24 user_data_type long
        callback default_widget_size_cb
        xywh {115 165 75 25} type Radio down_box ROUND_DOWN_BOX
      }
      Fl_Box {} {
        label large
        xywh {130 165 64 25} labelsize 24 align 20
      }
      Fl_Round_Button {def_widget_size[5]} {
        user_data 32 user_data_type long
        callback default_widget_size_cb
        xywh {202 165 95 25} type Radio down_box ROUND_DOWN_BOX
      }
      Fl_Box {} {
        label huge
        xywh {218 165 76 25} labelsize 32 align 20
      }
    }
  }
} 

decl {int opt[10][2];} {
  comment {Copy of all options in user and system mode} private local
} 

Function {refreshUI()} {
  comment {Update the UI using the values in the opt array} private return_type void
} {
  code {int mode = wUserOrSystem->value();
wVisibleFocus->value(opt[Fl::OPTION_VISIBLE_FOCUS][mode]);
wArrowFocus->value(opt[Fl::OPTION_ARROW_FOCUS][mode]);
wShowTooltips->value(opt[Fl::OPTION_SHOW_TOOLTIPS][mode]);
wDNDText->value(opt[Fl::OPTION_DND_TEXT][mode]);
wGTKText->value(opt[Fl::OPTION_FNFC_USES_GTK][mode]);} {}
} 

Function {readPrefs()} {
  comment {read all preferences and refresh the GUI} private return_type void
} {
  code {// read all preferences and refresh the GUI
{
  Fl_Preferences prefs(Fl_Preferences::SYSTEM, "fltk.org", "fltk");
  Fl_Preferences opt_prefs(prefs, "options");
  opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1], 2);
  opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1], 2);
  opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][1], 2);
  opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1], 2);
  opt_prefs.get("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK ][1], 2);
}
{
  Fl_Preferences prefs(Fl_Preferences::USER, "fltk.org", "fltk");
  Fl_Preferences opt_prefs(prefs, "options");
  opt_prefs.get("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0], 2);
  opt_prefs.get("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0], 2);
  opt_prefs.get("DNDText", opt[Fl::OPTION_DND_TEXT][0], 2);
  opt_prefs.get("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0], 2);
  opt_prefs.get("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK ][0], 2);
}
refreshUI();} {}
} 

Function {writePrefs()} {
  comment {write all preferences using the array} private return_type void
} {
  code {// write all preferences using the array
{
  Fl_Preferences prefs(Fl_Preferences::SYSTEM, "fltk.org", "fltk");
  Fl_Preferences opt_prefs(prefs, "options");
  if (opt[Fl::OPTION_ARROW_FOCUS][1]==2) opt_prefs.deleteEntry("ArrowFocus");
  else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][1]);
  if (opt[Fl::OPTION_VISIBLE_FOCUS][1]==2) opt_prefs.deleteEntry("VisibleFocus");
  else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][1]);
  if (opt[Fl::OPTION_DND_TEXT][1]==2) opt_prefs.deleteEntry("DNDText");
  else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][1]);
  if (opt[Fl::OPTION_SHOW_TOOLTIPS][1]==2) opt_prefs.deleteEntry("ShowTooltips");
  else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][1]);
  if (opt[Fl::OPTION_FNFC_USES_GTK][1]==2) opt_prefs.deleteEntry("FNFCUsesGTK");
  else opt_prefs.set("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK][1]);
}
{
  Fl_Preferences prefs(Fl_Preferences::USER, "fltk.org", "fltk");
  Fl_Preferences opt_prefs(prefs, "options");
  if (opt[Fl::OPTION_ARROW_FOCUS][0]==2) opt_prefs.deleteEntry("ArrowFocus");
  else opt_prefs.set("ArrowFocus", opt[Fl::OPTION_ARROW_FOCUS][0]);
  if (opt[Fl::OPTION_VISIBLE_FOCUS][0]==2) opt_prefs.deleteEntry("VisibleFocus");
  else opt_prefs.set("VisibleFocus", opt[Fl::OPTION_VISIBLE_FOCUS][0]);
  if (opt[Fl::OPTION_DND_TEXT][0]==2) opt_prefs.deleteEntry("DNDText");
  else opt_prefs.set("DNDText", opt[Fl::OPTION_DND_TEXT][0]);
  if (opt[Fl::OPTION_SHOW_TOOLTIPS][0]==2) opt_prefs.deleteEntry("ShowTooltips");
  else opt_prefs.set("ShowTooltips", opt[Fl::OPTION_SHOW_TOOLTIPS][0]);
  if (opt[Fl::OPTION_FNFC_USES_GTK][0]==2) opt_prefs.deleteEntry("FNFCUsesGTK");
  else opt_prefs.set("FNFCUsesGTK", opt[Fl::OPTION_FNFC_USES_GTK][0]);
}} {}
} 

Function {show_global_settings_window()} {open return_type void
} {
  code {if (!global_settings_window)
  make_global_settings_window();
readPrefs();
refreshUI();
fl_message(
	"WARNING!\\n\\n"
	"The following dialog changes the user interface behavior\\n"
	"of ALL FLTK applications, for the current user, or for \\n"
	"ALL users on this machine.\\n\\n"
	"Please choose these settings carefully, or reset\\n"
	"user and system settings to \\"default\\".");
global_settings_window->show();} {}
} 

Function {make_global_settings_window()} {} {
  Fl_Window global_settings_window {
    label {FLTK Preferences} open
    xywh {1147 190 400 378} type Double color 50 visible
  } {
    Fl_Group {} {
      label {Keyboard Focus Options} open
      xywh {10 10 380 100} box GTK_DOWN_BOX labelfont 2 align 21
    } {
      Fl_Choice wVisibleFocus {
        label {Visible Keyboard Focus:}
        callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_VISIBLE_FOCUS][mode] = wVisibleFocus->value();} open
        tooltip {OPTION_VISIBLE_FOCUS

If 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.

Default is on.} xywh {245 40 100 25} down_box BORDER_BOX
      } {
        MenuItem {} {
          label off
          user_data 0 user_data_type long
          xywh {10 10 31 20}
        }
        MenuItem {} {
          label on
          user_data 1 user_data_type long
          xywh {10 10 31 20} divider
        }
        MenuItem {} {
          label default
          user_data 2 user_data_type long
          xywh {10 10 31 20}
        }
      }
      Fl_Choice wArrowFocus {
        label {Arrow Keys move Focus:}
        callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_ARROW_FOCUS][mode] = wArrowFocus->value();} open
        tooltip {OPTION_ARROW_FOCUS

When 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.

Default is off.} xywh {245 75 100 25} down_box BORDER_BOX
      } {
        MenuItem {} {
          label off
          user_data 0 user_data_type long
          xywh {0 0 31 20}
        }
        MenuItem {} {
          label on
          user_data 1 user_data_type long
          xywh {0 0 31 20} divider
        }
        MenuItem {} {
          label default
          user_data 2 user_data_type long
          xywh {0 0 31 20}
        }
      }
    }
    Fl_Group {} {
      label {Tooltip Options} open
      xywh {10 120 380 65} box GTK_DOWN_BOX labelfont 2 align 21
    } {
      Fl_Choice wShowTooltips {
        label {Show Tooltips:}
        callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_SHOW_TOOLTIPS][mode] = wShowTooltips->value();} open
        tooltip {OPTION_SHOW_TOOLTIPS

If 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.

Default is on.} xywh {245 150 100 25} down_box BORDER_BOX
      } {
        MenuItem {} {
          label off
          user_data 0 user_data_type long
          xywh {10 10 31 20}
        }
        MenuItem {} {
          label on
          user_data 1 user_data_type long
          xywh {10 10 31 20} divider
        }
        MenuItem {} {
          label default
          user_data 2 user_data_type long
          xywh {10 10 31 20}
        }
      }
    }
    Fl_Group {} {
      label {Drag And Drop Options} open
      xywh {10 194 380 66} box GTK_DOWN_BOX labelfont 2 align 21
    } {
      Fl_Choice wDNDText {
        label {Allow dragging Text:}
        callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_DND_TEXT][mode] = wDNDText->value();} open
        tooltip {OPTION_DND_TEXT

If 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.

Default is on.} xywh {245 225 100 25} down_box BORDER_BOX
      } {
        MenuItem {} {
          label off
          user_data 0 user_data_type long
          xywh {30 30 31 20}
        }
        MenuItem {} {
          label on
          user_data 1 user_data_type long
          xywh {30 30 31 20} divider
        }
        MenuItem {} {
          label default
          user_data 2 user_data_type long
          xywh {30 30 31 20}
        }
      }
    }
    Fl_Group {} {
      label {Native File Chooser Options} open
      xywh {10 269 380 66} box GTK_DOWN_BOX labelfont 2 align 21
    } {
      Fl_Choice wGTKText {
        label {Native File Chooser uses GTK:}
        callback {int mode = wUserOrSystem->value();
opt[Fl::OPTION_FNFC_USES_GTK ][mode] = wGTKText->value();} open
        tooltip {OPTION_FNFC_USES_GTK
        
If 'Native File Chooser uses GTK' is enabled, the Fl_Native_File_Chooser class
calls the GTK open/save file dialogs when they are available on the platfom. If disabled, the Fl_Native_File_Chooser class
always uses FLTK's own file dialog (i.e., Fl_File_Chooser) even if GTK is available.

Default is on.} xywh {245 300 100 25} down_box BORDER_BOX
      } {
        MenuItem {} {
          label off
          user_data 0 user_data_type long
          xywh {30 30 31 20}
        }
        MenuItem {} {
          label on
          user_data 1 user_data_type long
          xywh {30 30 31 20} divider
        }
        MenuItem {} {
          label default
          user_data 2 user_data_type long
          xywh {30 30 31 20}
        }
      }
    }
    Fl_Choice wUserOrSystem {
      callback {refreshUI();} open
      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 {10 345 141 25} down_box BORDER_BOX
    } {
      MenuItem {} {
        label {User Settings}
        user_data 0 user_data_type long
        xywh {0 0 31 20}
      }
      MenuItem {} {
        label {System Settings}
        user_data 1 user_data_type long
        xywh {0 0 31 20}
      }
    }
    Fl_Button {} {
      label Cancel
      callback {global_settings_window->hide();}
      xywh {230 345 75 25}
    }
    Fl_Button {} {
      label OK
      callback {writePrefs();
global_settings_window->hide();}
      xywh {315 345 75 25}
    }
  }
  code {readPrefs();
  Fl::option(Fl::OPTION_SHOW_TOOLTIPS,1); // make sure tooltips are on !} {}
} 

comment {
//
// End of "$Id: alignment_panel.fl 10353 2014-10-05 00:03:27Z AlbrechtS $".
//} {in_source in_header
}