#include "wx/log.h"
#include "wx/utils.h"
#include "wx/panel.h"
+ #include "wx/settings.h"
+ #include "wx/math.h"
#endif
-#include "wx/math.h"
-#include "wx/settings.h"
#include "wx/strconv.h"
#include "wx/fontutil.h" // for wxNativeFontInfo (GetNativeFontInfo())
#include <sys/types.h>
#include <sys/stat.h>
#include <ctype.h>
-#include "wx/math.h"
#include "wx/gtk/private.h"
#include <gdk/gdkkeysyms.h>
if (attr.HasTextColour())
{
- GdkColor *colFg = attr.GetTextColour().GetColor();
+ const GdkColor *colFg = attr.GetTextColour().GetColor();
g_snprintf(buf, sizeof(buf), "WXFORECOLOR %d %d %d",
colFg->red, colFg->green, colFg->blue);
tag = gtk_text_tag_table_lookup( gtk_text_buffer_get_tag_table( text_buffer ),
if (attr.HasBackgroundColour())
{
- GdkColor *colBg = attr.GetBackgroundColour().GetColor();
+ const GdkColor *colBg = attr.GetBackgroundColour().GetColor();
g_snprintf(buf, sizeof(buf), "WXBACKCOLOR %d %d %d",
colBg->red, colBg->green, colBg->blue);
tag = gtk_text_tag_table_lookup( gtk_text_buffer_get_tag_table( text_buffer ),
// common part of the event handlers below
static void
handle_text_clipboard_callback( GtkWidget *widget, wxTextCtrl *win,
- wxEventType eventType, const gchar * signal_name)
+ wxEventType eventType, const gchar * signal_name)
{
wxClipboardTextEvent event( eventType, win->GetId() );
event.SetEventObject( win );
{
// don't let the default processing to take place if we did something
// ourselves in the event handler
- g_signal_stop_emission_by_name (widget, signal_name);
+ g_signal_stop_emission_by_name (widget, signal_name);
}
}
static void
gtk_copy_clipboard_callback( GtkWidget *widget, wxTextCtrl *win )
{
- handle_text_clipboard_callback(
- widget, win, wxEVT_COMMAND_TEXT_COPY, "copy-clipboard" );
+ handle_text_clipboard_callback(
+ widget, win, wxEVT_COMMAND_TEXT_COPY, "copy-clipboard" );
}
static void
gtk_cut_clipboard_callback( GtkWidget *widget, wxTextCtrl *win )
{
- handle_text_clipboard_callback(
- widget, win, wxEVT_COMMAND_TEXT_CUT, "cut-clipboard" );
+ handle_text_clipboard_callback(
+ widget, win, wxEVT_COMMAND_TEXT_CUT, "cut-clipboard" );
}
static void
gtk_paste_clipboard_callback( GtkWidget *widget, wxTextCtrl *win )
{
- handle_text_clipboard_callback(
- widget, win, wxEVT_COMMAND_TEXT_PASTE, "paste-clipboard" );
+ handle_text_clipboard_callback(
+ widget, win, wxEVT_COMMAND_TEXT_PASTE, "paste-clipboard" );
}
}
// wxTextCtrl
//-----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl,wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxTextCtrlBase)
-BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
+BEGIN_EVENT_TABLE(wxTextCtrl, wxTextCtrlBase)
EVT_CHAR(wxTextCtrl::OnChar)
EVT_MENU(wxID_CUT, wxTextCtrl::OnCut)
if ( m_windowStyle & wxTE_MULTILINE )
{
GtkTextIter iter;
- gtk_text_buffer_get_iter_at_offset(m_buffer, &iter, pos);
- if (gtk_text_iter_is_end(&iter))
+
+ if (pos > GetLastPosition())
return false;
- *y = gtk_text_iter_get_line(&iter);
- *x = gtk_text_iter_get_line_offset(&iter);
+ gtk_text_buffer_get_iter_at_offset(m_buffer, &iter, pos);
+
+ if ( y )
+ *y = gtk_text_iter_get_line(&iter);
+ if ( x )
+ *x = gtk_text_iter_get_line_offset(&iter);
}
else // single line control
{
if ( pos <= GTK_ENTRY(m_text)->text_length )
{
- *y = 0;
- *x = pos;
+ if ( y )
+ *y = 0;
+ if ( x )
+ *x = pos;
}
else
{