X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1a2fb4cd61069956c046e9721fda447ba1a743d7..c6eaa6fb6733d8472a14e220a5656787eafda398:/include/wx/stc/stc.h diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index 0a5cafc81e..64061f23fc 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -24,6 +24,13 @@ #include #include +//---------------------------------------------------------------------- + +// Should a wxPopupWindow be used for the call tips and autocomplete windows? +#ifndef wxSTC_USE_POPUP +#define wxSTC_USE_POPUP 1 +#endif + //---------------------------------------------------------------------- // BEGIN generated section. The following code is automatically generated // by gen_iface.py. Do not edit this file. Edit stc.h.in instead @@ -36,7 +43,11 @@ #define wxSTC_START 2000 #define wxSTC_OPTIONAL_START 3000 #define wxSTC_LEXER_START 4000 + +// Redoes the next action on the undo history #define wxSTC_CMD_REDO 2011 + +// Select all the text in the document. #define wxSTC_CMD_SELECTALL 2013 #define wxSTC_WS_INVISIBLE 0 #define wxSTC_WS_VISIBLEALWAYS 1 @@ -154,9 +165,17 @@ #define wxSTC_FIND_MATCHCASE 4 #define wxSTC_FIND_WORDSTART 0x00100000 #define wxSTC_FIND_REGEXP 0x00200000 + +// Undo one action in the undo history. #define wxSTC_CMD_UNDO 2176 + +// Cut the selection to the clipboard. #define wxSTC_CMD_CUT 2177 + +// Copy the selection to the clipboard. #define wxSTC_CMD_COPY 2178 + +// Paste the contents of the clipboard into the document replacing the selection. #define wxSTC_CMD_PASTE 2179 #define wxSTC_FOLDLEVELBASE 0x400 #define wxSTC_FOLDLEVELWHITEFLAG 0x1000 @@ -169,50 +188,144 @@ #define wxSTC_CACHE_CARET 1 #define wxSTC_CACHE_PAGE 2 #define wxSTC_CACHE_DOCUMENT 3 + +// Move caret down one line. #define wxSTC_CMD_LINEDOWN 2300 + +// Move caret down one line extending selection to new caret position. #define wxSTC_CMD_LINEDOWNEXTEND 2301 + +// Move caret up one line. #define wxSTC_CMD_LINEUP 2302 + +// Move caret up one line extending selection to new caret position. #define wxSTC_CMD_LINEUPEXTEND 2303 + +// Move caret left one character. #define wxSTC_CMD_CHARLEFT 2304 + +// Move caret left one character extending selection to new caret position. #define wxSTC_CMD_CHARLEFTEXTEND 2305 + +// Move caret right one character. #define wxSTC_CMD_CHARRIGHT 2306 + +// Move caret right one character extending selection to new caret position. #define wxSTC_CMD_CHARRIGHTEXTEND 2307 + +// Move caret left one word. #define wxSTC_CMD_WORDLEFT 2308 + +// Move caret left one word extending selection to new caret position. #define wxSTC_CMD_WORDLEFTEXTEND 2309 + +// Move caret right one word. #define wxSTC_CMD_WORDRIGHT 2310 + +// Move caret right one word extending selection to new caret position. #define wxSTC_CMD_WORDRIGHTEXTEND 2311 + +// Move caret to first position on line. #define wxSTC_CMD_HOME 2312 + +// Move caret to first position on line extending selection to new caret position. #define wxSTC_CMD_HOMEEXTEND 2313 + +// Move caret to last position on line. #define wxSTC_CMD_LINEEND 2314 + +// Move caret to last position on line extending selection to new caret position. #define wxSTC_CMD_LINEENDEXTEND 2315 + +// Move caret to first position in document. #define wxSTC_CMD_DOCUMENTSTART 2316 + +// Move caret to first position in document extending selection to new caret position. #define wxSTC_CMD_DOCUMENTSTARTEXTEND 2317 + +// Move caret to last position in document. #define wxSTC_CMD_DOCUMENTEND 2318 + +// Move caret to last position in document extending selection to new caret position. #define wxSTC_CMD_DOCUMENTENDEXTEND 2319 + +// Move caret one page up. #define wxSTC_CMD_PAGEUP 2320 + +// Move caret one page up extending selection to new caret position. #define wxSTC_CMD_PAGEUPEXTEND 2321 + +// Move caret one page down. #define wxSTC_CMD_PAGEDOWN 2322 + +// Move caret one page down extending selection to new caret position. #define wxSTC_CMD_PAGEDOWNEXTEND 2323 + +// Switch from insert to overtype mode or the reverse. #define wxSTC_CMD_EDITTOGGLEOVERTYPE 2324 + +// Cancel any modes such as call tip or auto-completion list display. #define wxSTC_CMD_CANCEL 2325 + +// Delete the selection or if no selection, the character before the caret. #define wxSTC_CMD_DELETEBACK 2326 + +// If selection is empty or all on one line replace the selection with a tab +// character. +// If more than one line selected, indent the lines. #define wxSTC_CMD_TAB 2327 + +// Dedent the selected lines. #define wxSTC_CMD_BACKTAB 2328 + +// Insert a new line, may use a CRLF, CR or LF depending on EOL mode. #define wxSTC_CMD_NEWLINE 2329 + +// Insert a Form Feed character. #define wxSTC_CMD_FORMFEED 2330 + +// Move caret to before first visible character on line. +// If already there move to first character on line. #define wxSTC_CMD_VCHOME 2331 + +// Like VCHome but extending selection to new caret position. #define wxSTC_CMD_VCHOMEEXTEND 2332 + +// Magnify the displayed text by increasing the sizes by 1 point. #define wxSTC_CMD_ZOOMIN 2333 + +// Make the displayed text smaller by decreasing the sizes by 1 point. #define wxSTC_CMD_ZOOMOUT 2334 + +// Delete the word to the left of the caret. #define wxSTC_CMD_DELWORDLEFT 2335 + +// Delete the word to the right of the caret. #define wxSTC_CMD_DELWORDRIGHT 2336 + +// Cut the line containing the caret. #define wxSTC_CMD_LINECUT 2337 + +// Delete the line containing the caret. #define wxSTC_CMD_LINEDELETE 2338 + +// Switch the current line with the previous. #define wxSTC_CMD_LINETRANSPOSE 2339 + +// Transform the selection to lower case. #define wxSTC_CMD_LOWERCASE 2340 + +// Transform the selection to upper case. #define wxSTC_CMD_UPPERCASE 2341 + +// Scroll the document down, keeping the caret visible. #define wxSTC_CMD_LINESCROLLDOWN 2342 + +// Scroll the document up, keeping the caret visible. #define wxSTC_CMD_LINESCROLLUP 2343 + +// Delete the selection or if no selection, the character before the caret. +// Will not delete the chraacter before at the start of a line. #define wxSTC_CMD_DELETEBACKNOTLINE 2344 #define wxSTC_EDGE_NONE 0 #define wxSTC_EDGE_LINE 1 @@ -711,7 +824,7 @@ public: wxStyledTextCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const char* name = "styledtext"); + const wxString& name = wxPySTCNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" #else @@ -736,7 +849,7 @@ public: void AddText(const wxString& text); // Add array of cells to document - void AddStyledText(const wxString& text); + void AddStyledText(const wxMemoryBuffer& data); // Insert string at a position void InsertText(int pos, const wxString& text); @@ -777,7 +890,7 @@ public: void SetSavePoint(); // Retrieve a buffer of cells. - wxString GetStyledText(int startPos, int endPos); + wxMemoryBuffer GetStyledText(int startPos, int endPos); // Are there any redoable actions in the undo history. bool CanRedo(); @@ -859,7 +972,6 @@ public: int GetTabWidth(); // Set the code page used to interpret the bytes of the document as characters. - // The SC_CP_UTF8 value can be used to enter Unicode mode. void SetCodePage(int codePage); // Set the symbol used for a particular marker number, @@ -949,6 +1061,9 @@ public: // Set a style to be mixed case, or to force upper or lower case. void StyleSetCase(int style, int caseForce); + // Set the character set of the font in a style. + void StyleSetCharacterSet(int style, int characterSet); + // Set the foreground colour of the selection and whether to use this setting. void SetSelForeground(bool useSetting, const wxColour& fore); @@ -1188,9 +1303,7 @@ public: int GetPrintColourMode(); // Find some text in the document. - int FindText(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord); + int FindText(int minPos, int maxPos, const wxString& text, int flags=0); // On Windows will draw the document into a display context such as a printer. int FormatRange(bool doDraw, @@ -1440,10 +1553,6 @@ public: // Retrieve the degree of caching of layout information int GetLayoutCache(); - // Delete the selection or if no selection, the character before the caret. - // Will not delete the chraacter before at the start of a line. - void DeleteBackNotLine(); - // Move the caret inside current view if it's not there already void MoveCaretInsideView(); @@ -1695,6 +1804,11 @@ public: // Set the horizontal scrollbar to use instead of the ont that's built-in. void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; } + // Can be used to prevent the EVT_CHAR handler from adding the char + bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; } + void SetLastKeydownProcessed(bool val) { m_lastKeyDownConsumed = val; } + + //---------------------------------------------------------------------- @@ -1744,6 +1858,15 @@ private: //---------------------------------------------------------------------- +// SWIG can't handle "#if" type of conditionals, onlu "#ifdef" +#ifdef SWIG +#define STC_USE_DND 1 +#else +#if wxUSE_DRAG_AND_DROP +#define STC_USE_DND 1 +#endif +#endif + class wxStyledTextEvent : public wxCommandEvent { public: wxStyledTextEvent(wxEventType commandType=0, int id=0); @@ -1756,7 +1879,7 @@ public: void SetKey(int k) { m_key = k; } void SetModifiers(int m) { m_modifiers = m; } void SetModificationType(int t) { m_modificationType = t; } - void SetText(const char* t) { m_text = t; } + void SetText(const wxString& t) { m_text = t; } void SetLength(int len) { m_length = len; } void SetLinesAdded(int num) { m_linesAdded = num; } void SetLine(int val) { m_line = val; } @@ -1771,7 +1894,9 @@ public: void SetY(int val) { m_y = val; } void SetDragText(const wxString& val) { m_dragText = val; } void SetDragAllowMove(bool val) { m_dragAllowMove = val; } +#ifdef STC_USE_DND void SetDragResult(wxDragResult val) { m_dragResult = val; } +#endif int GetPosition() const { return m_position; } int GetKey() const { return m_key; } @@ -1792,7 +1917,9 @@ public: int GetY() const { return m_y; } wxString GetDragText() { return m_dragText; } bool GetDragAllowMove() { return m_dragAllowMove; } +#ifdef STC_USE_DND wxDragResult GetDragResult() { return m_dragResult; } +#endif bool GetShift() const; bool GetControl() const; @@ -1829,8 +1956,10 @@ private: wxString m_dragText; // wxEVT_STC_START_DRAG, wxEVT_STC_DO_DROP bool m_dragAllowMove; // wxEVT_STC_START_DRAG +#if wxUSE_DRAG_AND_DROP wxDragResult m_dragResult; // wxEVT_STC_DRAG_OVER,wxEVT_STC_DO_DROP #endif +#endif }; #ifndef SWIG @@ -1915,6 +2044,39 @@ typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&); #endif //---------------------------------------------------------------------- +// Utility functions used within wxSTC + +#ifndef SWIG + +inline wxString stc2wx(const char* str) { +#if wxUSE_UNICODE + return wxString(str, wxConvUTF8); +#else + return wxString(str); +#endif +} + +inline wxString stc2wx(const char* str, size_t len) { +#if wxUSE_UNICODE + return wxString(str, wxConvUTF8, len); +#else + return wxString(str, len); +#endif +} + +#if wxUSE_UNICODE +inline const wxWX2MBbuf wx2stc(const wxString& str) { + return str.mb_str(wxConvUTF8); +} +#else +inline const wxWX2MBbuf wx2stc(const wxString& str) { + return str.mbc_str(); +} +#endif + +#endif + + //---------------------------------------------------------------------- #endif