~ubuntu-branches/ubuntu/raring/geany/raring-proposed

« back to all changes in this revision

Viewing changes to scintilla/ScintillaBase.h

  • Committer: Package Import Robot
  • Author(s): Chow Loong Jin
  • Date: 2011-12-10 07:43:26 UTC
  • mfrom: (3.3.7 sid)
  • Revision ID: package-import@ubuntu.com-20111210074326-s8yqbew5i20h33tf
Tags: 0.21-1ubuntu1
* Merge from Debian Unstable, remaining changes:
  - debian/patches/20_use_evince_viewer.patch:
     + use evince as viewer for pdf and dvi files
  - debian/patches/20_use_x_terminal_emulator.patch:
     + use x-terminal-emulator as terminal
  - debian/control
     + Add breaks on geany-plugins-common << 0.20
* Also fixes bugs:
  - Filter for MATLAB/Octave files filters everythign (LP: 885505)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Scintilla source code edit control
2
 
/** @file ScintillaBase.h
3
 
 ** Defines an enhanced subclass of Editor with calltips, autocomplete and context menu.
4
 
 **/
5
 
// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>
6
 
// The License.txt file describes the conditions under which this software may be distributed.
7
 
 
8
 
#ifndef SCINTILLABASE_H
9
 
#define SCINTILLABASE_H
10
 
 
11
 
#ifdef SCI_NAMESPACE
12
 
namespace Scintilla {
13
 
#endif
14
 
 
15
 
/**
16
 
 */
17
 
class ScintillaBase : public Editor {
18
 
        // Private so ScintillaBase objects can not be copied
19
 
        ScintillaBase(const ScintillaBase &);
20
 
        ScintillaBase &operator=(const ScintillaBase &);
21
 
 
22
 
protected:
23
 
        /** Enumeration of commands and child windows. */
24
 
        enum {
25
 
                idCallTip=1,
26
 
                idAutoComplete=2,
27
 
 
28
 
                idcmdUndo=10,
29
 
                idcmdRedo=11,
30
 
                idcmdCut=12,
31
 
                idcmdCopy=13,
32
 
                idcmdPaste=14,
33
 
                idcmdDelete=15,
34
 
                idcmdSelectAll=16
35
 
        };
36
 
 
37
 
        bool displayPopupMenu;
38
 
        Menu popup;
39
 
        AutoComplete ac;
40
 
 
41
 
        CallTip ct;
42
 
 
43
 
        int listType;                   ///< 0 is an autocomplete list
44
 
        int maxListWidth;               /// Maximum width of list, in average character widths
45
 
 
46
 
#ifdef SCI_LEXER
47
 
        bool performingStyle;   ///< Prevent reentrance
48
 
        int lexLanguage;
49
 
        const LexerModule *lexCurrent;
50
 
        PropSetSimple props;
51
 
        enum {numWordLists=KEYWORDSET_MAX+1};
52
 
        WordList *keyWordLists[numWordLists+1];
53
 
        void SetLexer(uptr_t wParam);
54
 
        void SetLexerLanguage(const char *languageName);
55
 
        void Colourise(int start, int end);
56
 
#endif
57
 
 
58
 
        ScintillaBase();
59
 
        virtual ~ScintillaBase();
60
 
        virtual void Initialise() = 0;
61
 
        virtual void Finalise() = 0;
62
 
 
63
 
        virtual void RefreshColourPalette(Palette &pal, bool want);
64
 
 
65
 
        virtual void AddCharUTF(char *s, unsigned int len, bool treatAsDBCS=false);
66
 
        void Command(int cmdId);
67
 
        virtual void CancelModes();
68
 
        virtual int KeyCommand(unsigned int iMessage);
69
 
 
70
 
        void AutoCompleteStart(int lenEntered, const char *list);
71
 
        void AutoCompleteCancel();
72
 
        void AutoCompleteMove(int delta);
73
 
        int AutoCompleteGetCurrent();
74
 
        int AutoCompleteGetCurrentText(char *buffer);
75
 
        void AutoCompleteCharacterAdded(char ch);
76
 
        void AutoCompleteCharacterDeleted();
77
 
        void AutoCompleteCompleted();
78
 
        void AutoCompleteMoveToCurrentWord();
79
 
        static void AutoCompleteDoubleClick(void *p);
80
 
 
81
 
        void CallTipClick();
82
 
        void CallTipShow(Point pt, const char *defn);
83
 
        virtual void CreateCallTipWindow(PRectangle rc) = 0;
84
 
 
85
 
        virtual void AddToPopUp(const char *label, int cmd=0, bool enabled=true) = 0;
86
 
        void ContextMenu(Point pt);
87
 
 
88
 
        virtual void ButtonDown(Point pt, unsigned int curTime, bool shift, bool ctrl, bool alt);
89
 
 
90
 
        virtual void NotifyStyleToNeeded(int endStyleNeeded);
91
 
public:
92
 
        // Public so scintilla_send_message can use it
93
 
        virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
94
 
};
95
 
 
96
 
#ifdef SCI_NAMESPACE
97
 
}
98
 
#endif
99
 
 
100
 
#endif