]> git.saurik.com Git - wxWidgets.git/commitdiff
GTK
authorRobert Roebling <robert@roebling.de>
Thu, 4 Jun 1998 16:08:47 +0000 (16:08 +0000)
committerRobert Roebling <robert@roebling.de>
Thu, 4 Jun 1998 16:08:47 +0000 (16:08 +0000)
   - added docview sample, doesn't work :-(
   - changed wxBmpButton callback name

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/textctrl.h
include/wx/gtk1/textctrl.h
samples/docview/Makefile [new file with mode: 0644]
samples/docview/Makefile.in [new file with mode: 0644]
samples/docview/doc.cpp
src/gtk/bmpbuttn.cpp
src/gtk/textctrl.cpp
src/gtk1/bmpbuttn.cpp
src/gtk1/textctrl.cpp

index 0222373fe2792a1611608b9c0c03b44ce6254623..249ed18c17a683f004afa3c9992b6eb404a1a816 100644 (file)
@@ -59,12 +59,13 @@ class wxTextCtrl: public wxControl, public streambuf
     wxString GetValue(void) const;
     void SetValue( const wxString &value );
     void WriteText( const wxString &text );
-/*
-    wxString GetLineText( const long lineNo ) const;
+    
     bool LoadFile( const wxString &file );
     bool SaveFile( const wxString &file );
-    void DiscardEdits(void);
     bool IsModified(void);
+    void DiscardEdits(void);
+/*
+    wxString GetLineText( const long lineNo ) const;
     void OnDropFiles( wxDropFilesEvent &event );
     long PositionToXY( const long pos, long *x, long *y ) const;
     long XYToPosition( const long x, const long y );
@@ -96,6 +97,10 @@ class wxTextCtrl: public wxControl, public streambuf
     wxTextCtrl& operator<<(const float f);
     wxTextCtrl& operator<<(const double d);
     wxTextCtrl& operator<<(const char c);
+    
+  public:
+  
+    bool  m_modified;
 
   DECLARE_EVENT_TABLE()
     
index 0222373fe2792a1611608b9c0c03b44ce6254623..249ed18c17a683f004afa3c9992b6eb404a1a816 100644 (file)
@@ -59,12 +59,13 @@ class wxTextCtrl: public wxControl, public streambuf
     wxString GetValue(void) const;
     void SetValue( const wxString &value );
     void WriteText( const wxString &text );
-/*
-    wxString GetLineText( const long lineNo ) const;
+    
     bool LoadFile( const wxString &file );
     bool SaveFile( const wxString &file );
-    void DiscardEdits(void);
     bool IsModified(void);
+    void DiscardEdits(void);
+/*
+    wxString GetLineText( const long lineNo ) const;
     void OnDropFiles( wxDropFilesEvent &event );
     long PositionToXY( const long pos, long *x, long *y ) const;
     long XYToPosition( const long x, const long y );
@@ -96,6 +97,10 @@ class wxTextCtrl: public wxControl, public streambuf
     wxTextCtrl& operator<<(const float f);
     wxTextCtrl& operator<<(const double d);
     wxTextCtrl& operator<<(const char c);
+    
+  public:
+  
+    bool  m_modified;
 
   DECLARE_EVENT_TABLE()
     
diff --git a/samples/docview/Makefile b/samples/docview/Makefile
new file mode 100644 (file)
index 0000000..027d82a
--- /dev/null
@@ -0,0 +1 @@
+include ../../src/gtk/setup/general/makeapp
diff --git a/samples/docview/Makefile.in b/samples/docview/Makefile.in
new file mode 100644 (file)
index 0000000..7f81acb
--- /dev/null
@@ -0,0 +1,26 @@
+# WXXT base directory
+WXBASEDIR=@WXBASEDIR@
+
+# set the OS type for compilation
+OS=@OS@
+# compile a library only
+RULE=bin
+
+# define library name
+BIN_TARGET=test
+# define library sources
+BIN_SRC=\
+doc.cpp view.cpp docview.cpp
+
+#define library objects
+BIN_OBJ=\
+doc.o view.o docview.o
+
+# additional things needed to link
+BIN_LINK=
+
+# additional things needed to compile
+ADD_COMPILE=
+
+# include the definitions now
+include ../../../template.mak
index 5e871203a659285fae6eeb820f9e0475b2fb7e62..662fe82e16ba336a7ef647d67be1cd2df15f7b12 100644 (file)
@@ -258,7 +258,7 @@ bool TextEditDocument::IsModified(void) const
   TextEditView *view = (TextEditView *)GetFirstView();
   if (view)
   {
-    return (wxDocument::IsModified() || view->textsw->Modified());
+    return (wxDocument::IsModified() || view->textsw->IsModified());
   }
   else
     return wxDocument::IsModified();
index 23909f6f3f3bab10c99502957292523f3df4c986..09722663f3393e96876378ae1d6363aa0a2e76fa 100644 (file)
@@ -26,7 +26,7 @@ class wxBitmapButton;
 
 IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton,wxControl)
 
-void gtk_button_clicked_callback( GtkWidget *WXUNUSED(widget), gpointer data )
+void gtk_bmpbutton_clicked_callback( GtkWidget *WXUNUSED(widget), gpointer data )
 {
   wxBitmapButton *button = (wxBitmapButton*)data;
   wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
@@ -77,7 +77,7 @@ bool wxBitmapButton::Create(  wxWindow *parent, wxWindowID id, const wxBitmap &b
   SetSize( newSize.x, newSize.y );
   
   gtk_signal_connect( GTK_OBJECT(m_widget), "clicked", 
-    GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this );
+    GTK_SIGNAL_FUNC(gtk_bmpbutton_clicked_callback), (gpointer*)this );
 
   PostCreation();
   
index 01b1d4477f1bb43c363fdf85679a5019b0904e38..f43f88964d764bea5050d8637a2f42b179b38e3b 100644 (file)
 
 IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl,wxControl)
 
+void gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
+{ 
+  win->m_modified = TRUE;
+};
+
 
 BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
 //  EVT_CHAR(wxTextCtrl::OnChar)
@@ -28,12 +33,14 @@ END_EVENT_TABLE()
 
 wxTextCtrl::wxTextCtrl(void) : streambuf()
 {
+  m_modified = FALSE;
 };
 
 wxTextCtrl::wxTextCtrl( wxWindow *parent, const wxWindowID id, const wxString &value, 
       const wxPoint &pos, const wxSize &size, 
       const int style, const wxString &name ) : streambuf()
 {
+  m_modified = FALSE;
   Create( parent, id, value, pos, size, style, name );
 };
 
@@ -60,7 +67,20 @@ bool wxTextCtrl::Create( wxWindow *parent, const wxWindowID id, const wxString &
   if (!value.IsNull())
   {
     gint tmp = 0;
-    gtk_editable_insert_text( GTK_EDITABLE(m_widget), value, value.Length(), &tmp );
+    
+    // Don't know why this is so
+    if (style & wxTE_MULTILINE)
+      gtk_editable_insert_text( GTK_EDITABLE(m_widget), value, value.Length()+1, &tmp );
+    else
+      gtk_editable_insert_text( GTK_EDITABLE(m_widget), value, value.Length(), &tmp );
+  };
+  
+  if (style & wxREADONLY)
+  {
+  }
+  else
+  {
+    if (style & wxTE_MULTILINE) gtk_text_set_editable( GTK_TEXT(m_widget), 1 );
   };
   
   Show( TRUE );
@@ -115,27 +135,31 @@ void wxTextCtrl::WriteText( const wxString &text )
   };
 };
 
-/*
-wxString wxTextCtrl::GetLineText( const long lineNo ) const
+bool wxTextCtrl::LoadFile( const wxString &WXUNUSED(file) )
 {
+  return FALSE;
 };
 
-bool wxTextCtrl::LoadFile( const wxString &file )
+bool wxTextCtrl::SaveFile( const wxString &WXUNUSED(file) )
 {
+  return FALSE;
 };
 
-bool wxTextCtrl::SaveFile( const wxString &file )
+bool wxTextCtrl::IsModified(void)
 {
+  return m_modified;
 };
 
 void wxTextCtrl::DiscardEdits(void)
 {
 };
 
-bool wxTextCtrl::IsModified(void)
+/*
+wxString wxTextCtrl::GetLineText( const long lineNo ) const
 {
 };
 
+
 void wxTextCtrl::OnDropFiles( wxDropFilesEvent &event )
 {
 };
index 23909f6f3f3bab10c99502957292523f3df4c986..09722663f3393e96876378ae1d6363aa0a2e76fa 100644 (file)
@@ -26,7 +26,7 @@ class wxBitmapButton;
 
 IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton,wxControl)
 
-void gtk_button_clicked_callback( GtkWidget *WXUNUSED(widget), gpointer data )
+void gtk_bmpbutton_clicked_callback( GtkWidget *WXUNUSED(widget), gpointer data )
 {
   wxBitmapButton *button = (wxBitmapButton*)data;
   wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
@@ -77,7 +77,7 @@ bool wxBitmapButton::Create(  wxWindow *parent, wxWindowID id, const wxBitmap &b
   SetSize( newSize.x, newSize.y );
   
   gtk_signal_connect( GTK_OBJECT(m_widget), "clicked", 
-    GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this );
+    GTK_SIGNAL_FUNC(gtk_bmpbutton_clicked_callback), (gpointer*)this );
 
   PostCreation();
   
index 01b1d4477f1bb43c363fdf85679a5019b0904e38..f43f88964d764bea5050d8637a2f42b179b38e3b 100644 (file)
 
 IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl,wxControl)
 
+void gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
+{ 
+  win->m_modified = TRUE;
+};
+
 
 BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
 //  EVT_CHAR(wxTextCtrl::OnChar)
@@ -28,12 +33,14 @@ END_EVENT_TABLE()
 
 wxTextCtrl::wxTextCtrl(void) : streambuf()
 {
+  m_modified = FALSE;
 };
 
 wxTextCtrl::wxTextCtrl( wxWindow *parent, const wxWindowID id, const wxString &value, 
       const wxPoint &pos, const wxSize &size, 
       const int style, const wxString &name ) : streambuf()
 {
+  m_modified = FALSE;
   Create( parent, id, value, pos, size, style, name );
 };
 
@@ -60,7 +67,20 @@ bool wxTextCtrl::Create( wxWindow *parent, const wxWindowID id, const wxString &
   if (!value.IsNull())
   {
     gint tmp = 0;
-    gtk_editable_insert_text( GTK_EDITABLE(m_widget), value, value.Length(), &tmp );
+    
+    // Don't know why this is so
+    if (style & wxTE_MULTILINE)
+      gtk_editable_insert_text( GTK_EDITABLE(m_widget), value, value.Length()+1, &tmp );
+    else
+      gtk_editable_insert_text( GTK_EDITABLE(m_widget), value, value.Length(), &tmp );
+  };
+  
+  if (style & wxREADONLY)
+  {
+  }
+  else
+  {
+    if (style & wxTE_MULTILINE) gtk_text_set_editable( GTK_TEXT(m_widget), 1 );
   };
   
   Show( TRUE );
@@ -115,27 +135,31 @@ void wxTextCtrl::WriteText( const wxString &text )
   };
 };
 
-/*
-wxString wxTextCtrl::GetLineText( const long lineNo ) const
+bool wxTextCtrl::LoadFile( const wxString &WXUNUSED(file) )
 {
+  return FALSE;
 };
 
-bool wxTextCtrl::LoadFile( const wxString &file )
+bool wxTextCtrl::SaveFile( const wxString &WXUNUSED(file) )
 {
+  return FALSE;
 };
 
-bool wxTextCtrl::SaveFile( const wxString &file )
+bool wxTextCtrl::IsModified(void)
 {
+  return m_modified;
 };
 
 void wxTextCtrl::DiscardEdits(void)
 {
 };
 
-bool wxTextCtrl::IsModified(void)
+/*
+wxString wxTextCtrl::GetLineText( const long lineNo ) const
 {
 };
 
+
 void wxTextCtrl::OnDropFiles( wxDropFilesEvent &event )
 {
 };