]> git.lyx.org Git - lyx.git/blob - src/lyx_gui_misc.h
citation patch from Angus
[lyx.git] / src / lyx_gui_misc.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ======================================================
4  * 
5  *           LyX, The Document Processor
6  *        
7  *           Copyright 1995 1996 Matthias Ettrich
8  *           Copyright 1995-2000 The LyX Team
9  *
10  * ====================================================== */
11
12 // Misc. GUI specific routines
13
14 #ifndef LYX_GUI_MISC_H
15 #define LYX_GUI_MISC_H
16
17 #ifdef __GNUG__
18 #pragma interface
19 #endif
20
21 #include FORMS_H_LOCATION
22 #include "LString.h"
23 #include <utility>  /* needed for pair<> definition */
24
25 /// Prevents LyX from being killed when the close box is pressed in a popup.
26 extern "C" int CancelCloseBoxCB(FL_FORM *, void *);
27 /// Prevents LyX from being killed when the close box is pressed in a popup.
28 extern "C" int IgnoreCloseBoxCB(FL_FORM *, void *);
29
30 /// Prevents LyX from crashing when no buffers available
31 void CloseAllBufferRelatedDialogs();
32
33 /// Ensures info in visible popups are always correct.
34 void updateAllVisibleBufferRelatedDialogs();
35
36 /* These shortcut extractors should be shifted to frontends/xforms/ eventually */
37
38 /// Extract shortcut from <ident>|<shortcut> string
39 char const * flyx_shortcut_extract(char const * sc);
40 /// Shortcut for flyx_shortcut_extract
41 #define scex flyx_shortcut_extract
42
43 /// Extract shortcut from <ident>|<shortcut> string
44 char const * flyx_ident_extract(char const * sc);
45 /// Shortcut for flyx_ident_extract
46 #define idex flyx_ident_extract
47
48 /// Show message
49 void WriteAlert(string const & s1, string const & s2 = string(), 
50                 string const & s3 = string());
51
52 /// Alarms user of something related to files
53 void WriteFSAlert(string const & s1, string const & s2 = string());
54
55 /// Asks "Yes" or "No". Returns true for yes, false for no
56 bool AskQuestion(string const & s1, string const & s2 = string(),
57                  string const & s3 = string());
58
59 /// Asks "Yes", "No" or "Cancel". Returns 1 for yes, 2 for no, 3 for cancel
60 int AskConfirmation(string const & s1, string const & s2 = string(), 
61                     string const & s3 = string());
62
63 /// returns a bool: false=cancelled, true=okay. string contains returned text
64 std::pair<bool, string> const
65 askForText(string const & msg,
66            string const & dflt = string());
67
68 /// Informs the user that changes in the coming form will be ignored
69 void WarnReadonly(string const & file);
70
71 /// Get the dpi setting of the current screen
72 float getScreenDPI();
73
74 /// rings the audio bell.
75 inline
76 void LyXBell() {
77         // if (audio()) ON/OFF switch yet to be implemented
78         fl_ringbell(20);
79 }
80
81 #endif