aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/ScintillaGTK.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-03-21Fix some runtime warnings caused by previous change as wSelection created laterNeil Hodgson1-4/+4
and clients (such as SciTE's about box) may use API to set up text before window is realized.
2018-03-21Fix warnings about NULL selection widget by moving creation and destruction ofMitchell Foral1-4/+2
wSelection into the realize and unrealize handlers.
2018-03-16Remove line-end white space.Neil1-1/+1
2018-03-15Use forward class definitions of XPM and RGBAImage so only code that uses themNeil1-1/+0
needs to #include "XPM.h". Move definition of standard methods on LineMarker from header to implementation to reduce included text and further isolate use of XPM and RGBAImage.
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-6/+0
interfaces ILexer4 and IDocument.
2017-08-28New header ILoader.h defines ILoader interface as it does not belong in ↵Neil1-0/+1
ILexer.h.
2017-08-02Switch default modifier key for rectangular selections from Ctrl to Alt on ↵Neil Hodgson1-4/+0
Linux.
2017-07-29Bug [#1876]. Fix scrollbar and corner drawing and flickering of text.Neil Hodgson1-6/+33
2017-07-07Bug [#1949]. Fix drawing failure in wrap mode for GTK+ 2.x.Neil1-1/+2
2017-06-12Remove old timer code in favour of the FineTicker* methods.Neil1-7/+0
2017-06-12Simplify mouse and keyboard handling by only retaining the 'WithModifiers" form.Neil1-5/+10
All events include a set of keyboard modifier flags. Older calls that passed individual parameters for each key were removed.
2017-06-10Require GTK+ 2.24 or later. Removes support for earlier versions.Baldur Karlsson1-30/+0
2017-06-09Use min and max from std instead of own version from platform.Neil1-4/+4
2017-05-21Make SparseVector work with move-only types.Neil1-0/+1
Define UniqueString as a move-only string and use in a SparseVector for ContractionState. Remove SparseVector method specializations that are no longer needed.
2017-05-07Use unique_ptr on GTK+.Neil1-11/+6
2017-05-02For GTK+, use unique_ptr for drawing surfaces and don't check for allocationNeil1-36/+24
failure as that throws an exception.
2017-04-15Avoid calling virtual functions in constructors and destructors.Neil1-4/+3
2017-04-15Fix deprecation of gdk_window_process_updates in GTK+ 3.22 by redrawing insteadNeil1-4/+6
of scrolling.
2017-04-01Standardize on C++ headers, remove headers that aren't needed and add <cstddef>Neil1-7/+8
where it may be needed in the future.
2017-03-31Hide decorations details a little.Neil1-1/+1
2017-03-31Using Sci::Position and Sci::Line to mark variables that are document positionsNeil1-8/+8
and lines.
2017-03-07Bug [#1910]. Accessibility support may be queried and, on GTK+, disabled.Neil1-0/+14
2017-03-06Use several C++11 features as examples so problems with these features are seen.Vicente1-0/+1
Features used are move constructor, unique_ptr, deleted functions, enum class, lambda expression, and range for loop.
2017-03-05For IMEs, do not clear selected text when there is no composition text to show.johnsonj1-1/+4
2017-03-04Use C++11 keyword "override" for methods that override a base class.Neil1-2/+2
2017-02-21Bug [#1901]. GTK: Fix double scrolling under X11Colomban Wendling1-1/+1
Really restrict smooth scrolling handling to Wayland.
2017-02-01Bug [#1901]. Make trackpad scrolling work on Wayland.John Flatness1-0/+35
2017-01-04Don't set window background on GTK+ 3.22 as this is deprecated.Neil1-1/+3
2017-01-04Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland byNeil1-0/+3
setting the owning window by calling gtk_window_set_transient_for.
2016-12-01Ensure application can override right mouse button by returning FALSE.Neil1-0/+1
2016-11-23Implementation of MarginRightClick event.Tse Kit Yam1-2/+10
2016-11-07Remove warning suppressions for a version of Clang from 4 years ago.Neil1-5/+0
2016-10-23Bug [#1874]. GTK: Avoid warnings about unused parametersColomban Wendling1-5/+5
Either remove the parameter name if it is never used, or mark it with G_GNUC_UNUSED when it might be used depending on some preprocessor flags.
2016-10-23Bug [#1873]. GTK: Don't forward calls to NULL scrollbarsColomban Wendling1-4/+8
Once Dispose() has been called, scrollbars will be NULL, so we need to check against this in code that might run after Dispose(). Fixes scary warnings on certain widget destruction scenarios.
2016-10-21Initial accessibility support for the GTK platform v7Colomban Wendling1-288/+88
2016-10-09GTK: Avoid theoretical access to a destroyed object on async pasteColomban Wendling1-7/+58
GTK clipboard is asynchronous, which means that the answer to a request can theoretically arrive at any moment in the future after the request. This poses a problem as the receiving code has to make sure the object on which the paste was requested still actually exists by the time the response arrives, as it could have been destroyed in the meantime. A possible solution is to add a reference to the object during the query so that it is kept alive as needed. However, this means that if the paste request really takes a long time to get answered, it can prevent the application from destroying the object explicitly, possibly at the user's request. So instead, use a helper object adding a weak reference to the object, and only process the paste request response if the object is still alive then. All this is fairly theoretical though, as in practice paste is generally not effectively asynchronous (GTK tries and calls the response callback directly in the request call when possible), and when it is effectively asynchronous, it generally is very fast.
2016-08-10Bug [#1851]. Fix scroll bar size warnings.Chris Mayo1-1/+1
2016-05-22Bug [#1831]. Fix GTK+ error due to not allocating enough space for scrollbars.Johannes Sasongko1-5/+12
2016-05-18Normalized formatting.Neil Hodgson1-7/+5
2016-05-17Enable g-ir-scanner to scan ScintillaObject signalsThomas Martitz1-9/+26
Currently, the ScintillaObject signals can't be used from python code via gobject-introspection. This is because g-ir-scanner does not properly scan the signals. For signals, there is the additional requirement that parameters have are registered GTypes. For the sci-notify signal, this can be accomplished by boxing SCNotification. In addition, g-ir-scanner also runs on Scintilla.h where it picks up additional structs. test/gi/ is updated accordingly. The test python script is enhanced to showcase the signals (some fixes to the makefile are included as well).
2016-05-17Backed out changeset: 89cda794d0dd as fixed changeset will be sent by author.Neil1-11/+9
2016-04-26Enable g-ir-scanner to scan ScintillaObject signalsThomas Martitz1-9/+11
Currently, the ScintillaObject signals can't be used from python code via gobject-introspection. This is because g-ir-scanner does not properly scan the signals. For signals, there is the additional requirement that parameters have are registered GTypes. For the sci-notify signal, this can be accomplished by boxing SCNotification. In addition, g-ir-scanner also runs on Scintilla.h where it picks up additional structs. test/gi/ is updated accordingly. The test python script is enhanced to showcase the signals (some fixes to the makefile are included as well).
2016-05-11Bug [#1827]. GTK: Avoid possible IdleWork() calls on destructed objectsColomban Wendling1-5/+16
The idle callback removal clause in the ScintillaGTK destructor got broken in 4e5c321dda8e69104cb7b639c3107dc11dbc00f6, leading to the callback not being removed thus possibly running after the instance destruction. Indeed, gdk_threads_add_idle() wraps g_idle_add() with a custom user data, thus making the g_source_remove_by_user_data() call in the destructor incorrect, as we give it our own user data, not GDK's wrapper one. Fix the callback removal not to use user data matching to avoid this.
2016-05-05Remove template adaptor as only g_iconv is used now. Use glib's gsize type as itNeil Hodgson1-4/+4
matches g_iconv exactly. Make character set name buffer dynamically sized.
2016-05-03Avoid use of const_cast when retrieving window positions.Neil1-1/+1
2016-05-01Do not call deprecated functions on newer GTK+.Neil Hodgson1-0/+6
2016-04-27GTK: Properly ask wText what size it wants to please GTK 3.20Colomban Wendling1-2/+11
It's not really of any use as we do know any size would do as wText is ours anyway, but GTK 3.20 doesn't like allocating without querying the preferred size beforehand, so do it. As wText has a size_request() of 100x100, this might change how we allocate in case we used to underallocate it, but AFAIK we don't, and it is the real minimum size expected.
2016-04-14Simplified IME caret positioning.johnsonj1-12/+8
2016-04-08Scintilla Gtk: use gdk_threads_add_idle_full() instead of g_idle_add_full() ↵Robin Haberkorn1-16/+5
and gdk_threads_add_timeout() instead of g_timeout_add() * The g_idle/g_timeout watchers are not executed with the Gdk lock held. This causes memory corruptions and crashes when accessing the Scintilla object from the non-main-loop-thread. At least this was the case after Gdk 3.6 since Scintilla used gdk_threads_enter()/leave() for earlier versions. The timeout handlers have possibly always been broken. * The new version should work with non-deprecated APIs in all Gdk versions. * Even though this only fixes the idle handlers in Gdk >= 3.6 where gdk_threads_enter() is deprecated (the only way to provoke above situation) - and the timers of course - this patch makes the code more elegant.
2016-03-29Feature [feature-requests:#1142]. Allow Super modifier on GTK+.Neil1-5/+3