]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/gtk1/textctrl.h
Changed clipboard text format id from "STRING" to "TEXT"
[wxWidgets.git] / include / wx / gtk1 / textctrl.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: textctrl.h
3// Purpose:
4// Author: Robert Roebling
5// Created: 01/02/97
6// Id: $Id$
7// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
8// Licence: wxWindows licence
9/////////////////////////////////////////////////////////////////////////////
10
11
12#ifndef __GTKTEXTCTRLH__
13#define __GTKTEXTCTRLH__
14
15#ifdef __GNUG__
16#pragma interface
17#endif
18
19#include "wx/defs.h"
20#include "wx/object.h"
21#include "wx/string.h"
22#include "wx/control.h"
23
24#if wxUSE_STD_IOSTREAM
25
26#if wxUSE_IOSTREAMH
27#include <iostream.h>
28#else
29#include <iostream>
30#endif
31
32#else
33
34#define NO_TEXT_WINDOW_STREAM
35
36#endif
37
38//-----------------------------------------------------------------------------
39// classes
40//-----------------------------------------------------------------------------
41
42class wxTextCtrl;
43
44//-----------------------------------------------------------------------------
45// global data
46//-----------------------------------------------------------------------------
47
48extern const char *wxTextCtrlNameStr;
49
50//-----------------------------------------------------------------------------
51// wxTextCtrl
52//-----------------------------------------------------------------------------
53
54#ifndef NO_TEXT_WINDOW_STREAM
55class wxTextCtrl: public wxControl, public streambuf
56#else
57class wxTextCtrl: public wxControl
58#endif
59{
60 DECLARE_EVENT_TABLE()
61 DECLARE_DYNAMIC_CLASS(wxTextCtrl);
62
63 public:
64 wxTextCtrl();
65 wxTextCtrl( wxWindow *parent, wxWindowID id, const wxString &value = "",
66 const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
67 int style = 0, const wxValidator& validator = wxDefaultValidator,
68 const wxString &name = wxTextCtrlNameStr );
69 bool Create( wxWindow *parent, wxWindowID id, const wxString &value = "",
70 const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
71 int style = 0, const wxValidator& validator = wxDefaultValidator,
72 const wxString &name = wxTextCtrlNameStr );
73 wxString GetValue() const;
74 void SetValue( const wxString &value );
75 void WriteText( const wxString &text );
76 void AppendText( const wxString &text );
77
78 bool LoadFile( const wxString &file );
79 bool SaveFile( const wxString &file );
80 bool IsModified() const { return m_modified; }
81 void SetModified() { m_modified = TRUE; }
82 void DiscardEdits() { m_modified = FALSE; }
83 wxString GetLineText( long lineNo ) const;
84 void OnDropFiles( wxDropFilesEvent &event );
85 long PositionToXY( long pos, long *x, long *y ) const;
86 long XYToPosition( long x, long y ) const;
87 int GetLineLength(long lineNo) const;
88 int GetNumberOfLines() const;
89 virtual void SetInsertionPoint( long pos );
90 virtual void SetInsertionPointEnd();
91 virtual void SetEditable( bool editable );
92 virtual void SetSelection( long from, long to );
93 void ShowPosition( long pos );
94 virtual long GetInsertionPoint() const;
95 virtual long GetLastPosition() const;
96 virtual void Remove( long from, long to );
97 virtual void Replace( long from, long to, const wxString &value );
98 void Cut();
99 void Copy();
100 void Paste();
101 void Clear();
102
103 virtual bool CanCopy() const;
104 virtual bool CanCut() const;
105 virtual bool CanPaste() const;
106
107 // Undo/redo
108 virtual void Undo();
109 virtual void Redo();
110
111 virtual bool CanUndo() const;
112 virtual bool CanRedo() const;
113
114 // If the return values from and to are the same, there is no
115 // selection.
116 virtual void GetSelection(long* from, long* to) const;
117 virtual bool IsEditable() const ;
118
119 void OnChar( wxKeyEvent &event );
120
121#ifndef NO_TEXT_WINDOW_STREAM
122 int overflow(int i);
123 int sync();
124 int underflow();
125
126 wxTextCtrl& operator<<(const wxString& s);
127 wxTextCtrl& operator<<(int i);
128 wxTextCtrl& operator<<(long i);
129 wxTextCtrl& operator<<(float f);
130 wxTextCtrl& operator<<(double d);
131 wxTextCtrl& operator<<(const char c);
132#endif
133
134 void SetFont( const wxFont &font );
135 void SetForegroundColour(const wxColour &colour);
136 void SetBackgroundColour(const wxColour &colour);
137
138 // implementation
139
140 GtkWidget* GetConnectWidget();
141 bool IsOwnGtkWindow( GdkWindow *window );
142 void ApplyWidgetStyle();
143 void CalculateScrollbar();
144
145 private:
146
147 bool m_modified;
148 GtkWidget *m_text;
149 GtkWidget *m_vScrollbar;
150 bool m_vScrollbarVisible;
151};
152
153#endif // __GTKTEXTCTRLH__
154
155