~registry/codeblocks/trunk

« back to all changes in this revision

Viewing changes to src/plugins/contrib/wxSmithSTC/stc/scintilla/src/CallTip.h

  • Committer: mortenmacfly
  • Date: 2012-02-22 14:40:26 UTC
  • Revision ID: svn-v4:98b59c6a-2706-0410-b7d6-d2fa1a1880c9:trunk:7835
* merged wxSmith branch into trunk
* this brings tons of new wxSmith items, including KWIC, wxImagePanel, wxGridBagSizer and more
* based on work of the community, mainly cryogen
* for more information, see changelog of wxSmith branch
* also, re-factoring of contributed wxWidgets items for wxSmith
* PLEASE DO A CLEAN CHECKOUT AND RE-BUILD EVERYTHING FROM SCRATCH!

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Scintilla source code edit control
 
2
/** @file CallTip.h
 
3
 ** Interface to the call tip control.
 
4
 **/
 
5
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
 
6
// The License.txt file describes the conditions under which this software may be distributed.
 
7
 
 
8
#ifndef CALLTIP_H
 
9
#define CALLTIP_H
 
10
 
 
11
/**
 
12
 */
 
13
class CallTip {
 
14
        int startHighlight;    // character offset to start and...
 
15
        int endHighlight;      // ...end of highlighted text
 
16
        char *val;
 
17
        Font font;
 
18
        PRectangle rectUp;      // rectangle of last up angle in the tip
 
19
        PRectangle rectDown;    // rectangle of last down arrow in the tip
 
20
        int lineHeight;         // vertical line spacing
 
21
        int offsetMain;         // The alignment point of the call tip
 
22
        int tabSize;            // Tab size in pixels, <=0 no TAB expand
 
23
        bool useStyleCallTip;   // if true, STYLE_CALLTIP should be used
 
24
 
 
25
        // Private so CallTip objects can not be copied
 
26
        CallTip(const CallTip &) {}
 
27
        CallTip &operator=(const CallTip &) { return *this; }
 
28
        void DrawChunk(Surface *surface, int &x, const char *s,
 
29
                int posStart, int posEnd, int ytext, PRectangle rcClient,
 
30
                bool highlight, bool draw);
 
31
        int PaintContents(Surface *surfaceWindow, bool draw);
 
32
        bool IsTabCharacter(char c);
 
33
        int NextTabPos(int x);
 
34
 
 
35
public:
 
36
        Window wCallTip;
 
37
        Window wDraw;
 
38
        bool inCallTipMode;
 
39
        int posStartCallTip;
 
40
        ColourPair colourBG;
 
41
        ColourPair colourUnSel;
 
42
        ColourPair colourSel;
 
43
        ColourPair colourShade;
 
44
        ColourPair colourLight;
 
45
        int codePage;
 
46
        int clickPlace;
 
47
 
 
48
        CallTip();
 
49
        ~CallTip();
 
50
 
 
51
        /// Claim or accept palette entries for the colours required to paint a calltip.
 
52
        void RefreshColourPalette(Palette &pal, bool want);
 
53
 
 
54
        void PaintCT(Surface *surfaceWindow);
 
55
 
 
56
        void MouseClick(Point pt);
 
57
 
 
58
        /// Setup the calltip and return a rectangle of the area required.
 
59
        PRectangle CallTipStart(int pos, Point pt, const char *defn,
 
60
                const char *faceName, int size, int codePage_, 
 
61
                int characterSet, Window &wParent);
 
62
 
 
63
        void CallTipCancel();
 
64
 
 
65
        /// Set a range of characters to be displayed in a highlight style.
 
66
        /// Commonly used to highlight the current parameter.
 
67
        void SetHighlight(int start, int end);
 
68
 
 
69
        /// Set the tab size in pixels for the call tip. 0 or -ve means no tab expand.
 
70
        void SetTabSize(int tabSz);
 
71
 
 
72
        /// Used to determine which STYLE_xxxx to use for call tip information
 
73
        bool UseStyleCallTip() const { return useStyleCallTip;}
 
74
 
 
75
        // Modify foreground and background colours
 
76
        void SetForeBack(const ColourPair &fore, const ColourPair &back);
 
77
};
 
78
 
 
79
#endif