]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxUSE_FS_INET/ZIP
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 9 Jul 1999 14:32:50 +0000 (14:32 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 9 Jul 1999 14:32:50 +0000 (14:32 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

acconfig.h
configure.in
include/wx/protocol/protocol.h
samples/notebook/test.cpp
src/common/filesys.cpp
src/common/fs_inet.cpp
src/common/fs_zip.cpp
src/gtk/radiobox.cpp
src/gtk1/radiobox.cpp

index e0f7d38429aa679150584b9610391933f9400311..93a64d8ffaf1288d9afccccd81985e6947c342cb 100644 (file)
  * Use Apple Ieee-double converter
  */
 #define wxUSE_APPLE_IEEE 0
  * Use Apple Ieee-double converter
  */
 #define wxUSE_APPLE_IEEE 0
-/* 
+/*
  * Compatibility with 1.66 API.
  * Level 0: no backward compatibility, all new features
  * Level 1: wxDC, OnSize (etc.) compatibility, but
  * Compatibility with 1.66 API.
  * Level 0: no backward compatibility, all new features
  * Level 1: wxDC, OnSize (etc.) compatibility, but
- * some new features such as event tables 
+ * some new features such as event tables
  */
 #define WXWIN_COMPATIBILITY 0
  */
 #define WXWIN_COMPATIBILITY 0
-/* 
- * Compatibility with 2.0 API. 
+/*
+ * Compatibility with 2.0 API.
  */
 #define WXWIN_COMPATIBILITY_2 1
 /*
  */
 #define WXWIN_COMPATIBILITY_2 1
 /*
  */
 #define wxUSE_HTML 0
 
  */
 #define wxUSE_HTML 0
 
+/*
+ * (virtual) filesystems code
+ */
+#define wxUSE_FS_INET 0
+#define wxUSE_FS_ZIP 0
+
 /*
  * Disable this if your compiler can't cope
  * with omission of prototype parameters.
 /*
  * Disable this if your compiler can't cope
  * with omission of prototype parameters.
 /*
  * The const keyword is being introduced more in wxWindows.
  * You can use this setting to maintain backward compatibility.
 /*
  * The const keyword is being introduced more in wxWindows.
  * You can use this setting to maintain backward compatibility.
- * If 0:       will use const wherever possible.
- * If 1:       will use const only where necessary
- *              for precompiled headers to work.
- * If 2:       will be totally backward compatible, but precompiled
- *     headers may not work and program size will be larger.
+ * If 0: will use const wherever possible.
+ * If 1: will use const only where necessary
+ *       for precompiled headers to work.
+ * If 2: will be totally backward compatible, but precompiled
+ *       headers may not work and program size will be larger.
  */
 #define CONST_COMPATIBILITY 0
 
  */
 #define CONST_COMPATIBILITY 0
 
index 3aceaf4cdf1ef41e25d0d6ac10eddd0f8a376b7e..a2047c8239282ac3c9d7a9c58ca79ffe482086da 100644 (file)
@@ -293,6 +293,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_PROGRESSDLG=no
   DEFAULT_wxUSE_MINIFRAME=no
   DEFAULT_wxUSE_HTML=no
   DEFAULT_wxUSE_PROGRESSDLG=no
   DEFAULT_wxUSE_MINIFRAME=no
   DEFAULT_wxUSE_HTML=no
+  DEFAULT_wxUSE_FS_INET=no
+  DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=no
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=no
@@ -393,6 +395,8 @@ else
   DEFAULT_wxUSE_PROGRESSDLG=yes
   DEFAULT_wxUSE_MINIFRAME=yes
   DEFAULT_wxUSE_HTML=no
   DEFAULT_wxUSE_PROGRESSDLG=yes
   DEFAULT_wxUSE_MINIFRAME=yes
   DEFAULT_wxUSE_HTML=no
+  DEFAULT_wxUSE_FS_INET=no
+  DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
@@ -525,6 +529,8 @@ WX_ARG_ENABLE(wcsrtombs,     [  --enable-wcsrtombs      use wcsrtombs instead of
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(joystick,      [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(joystick,      [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
+WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
 
 dnl ---------------------------------------------------------------------------
 dnl "big" options (i.e. those which change a lot of things throughout the library)
 
 dnl ---------------------------------------------------------------------------
 dnl "big" options (i.e. those which change a lot of things throughout the library)
@@ -1542,6 +1548,14 @@ if test "$wxUSE_FILE" = "yes"; then
   AC_DEFINE(wxUSE_FILE)
 fi
 
   AC_DEFINE(wxUSE_FILE)
 fi
 
+if test "$wxUSE_FS_INET" = "yes"; then
+  AC_DEFINE(wxUSE_FS_INET)
+fi
+
+if test "$wxUSE_FS_ZIP" = "yes"; then
+  AC_DEFINE(wxUSE_FS_ZIP)
+fi
+
 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_STD_IOSTREAM)
 fi
 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_STD_IOSTREAM)
 fi
index f9d105406d180308f748797cdaf73300e4c56f0f..ad3cf86f833f2668ce588791568b1b020d371b55 100644 (file)
 #pragma interface
 #endif
 
 #pragma interface
 #endif
 
+#include "wx/defs.h"
+
+#if wxUSE_SOCKETS
+
 #include "wx/object.h"
 #include "wx/string.h"
 #include "wx/stream.h"
 #include "wx/object.h"
 #include "wx/string.h"
 #include "wx/stream.h"
@@ -30,7 +34,7 @@ typedef enum {
  wxPROTO_NOFILE,
  wxPROTO_ABRT,
  wxPROTO_RCNCT,
  wxPROTO_NOFILE,
  wxPROTO_ABRT,
  wxPROTO_RCNCT,
- wxPROTO_STREAMING 
+ wxPROTO_STREAMING
 } wxProtocolError;
 
 // For protocols
 } wxProtocolError;
 
 // For protocols
@@ -76,4 +80,6 @@ public:
 
 wxProtocolError WXDLLEXPORT GetLine(wxSocketBase *sock, wxString& result);
 
 
 wxProtocolError WXDLLEXPORT GetLine(wxSocketBase *sock, wxString& result);
 
-#endif
+#endif // wxUSE_SOCKETS
+
+#endif // _WX_PROTOCOL_PROTOCOL_H
index 6413033ed499f82e32551da0efb166e67df0846b..e9d6088176c04bee7c15fa7744bbd41c2bfdc32f 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     26/10/98
 // RCS-ID:      $Id$
 // Copyright:   (c)
 // Created:     26/10/98
 // RCS-ID:      $Id$
 // Copyright:   (c)
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // For compilers that support precompilation, includes "wx.h".
 /////////////////////////////////////////////////////////////////////////////
 
 // For compilers that support precompilation, includes "wx.h".
@@ -41,7 +41,7 @@ bool MyApp::OnInit(void)
   // Quit immediately the dialog has been dismissed
   return FALSE;
 #else
   // Quit immediately the dialog has been dismissed
   return FALSE;
 #else
-  frame = new MyFrame((wxFrame*) NULL, -1, (char *) "Notebook", wxPoint(-1, -1), wxSize(365, 390), wxDEFAULT_FRAME_STYLE);
+  frame = new MyFrame((wxFrame*) NULL, -1, "Notebook", wxPoint(-1, -1), wxSize(365, 390) );
 
   // Problem with generic wxNotebook implementation whereby it doesn't size properly unless
   // you set the size again
 
   // Problem with generic wxNotebook implementation whereby it doesn't size properly unless
   // you set the size again
@@ -88,19 +88,33 @@ void MyApp::InitTabView(wxNotebook* notebook, wxWindow* window)
   //  panel1->SetBackgroundColour(wxColour("RED"));
   (void)new wxButton(panel1, -1, "Press me", wxPoint(10, 10));
   (void)new wxTextCtrl(panel1, -1, "1234", wxPoint(10, 40), wxSize(120, 150));
   //  panel1->SetBackgroundColour(wxColour("RED"));
   (void)new wxButton(panel1, -1, "Press me", wxPoint(10, 10));
   (void)new wxTextCtrl(panel1, -1, "1234", wxPoint(10, 40), wxSize(120, 150));
-  
+
   notebook->AddPage(panel1, "Cat", TRUE);
 
   wxPanel *panel2 = new wxPanel(notebook, -1);
   notebook->AddPage(panel1, "Cat", TRUE);
 
   wxPanel *panel2 = new wxPanel(notebook, -1);
+  panel2->SetAutoLayout(TRUE);
   panel2->SetBackgroundColour(wxColour("BLUE"));
 
   wxString animals[] = { "Fox", "Hare", "Rabbit", "Sabre-toothed tiger", "T Rex" };
   panel2->SetBackgroundColour(wxColour("BLUE"));
 
   wxString animals[] = { "Fox", "Hare", "Rabbit", "Sabre-toothed tiger", "T Rex" };
-  (void)new wxListBox(panel2, -1, wxPoint(5, 5), wxSize(170, 80), 5, animals);
+  wxListBox *listbox = new wxListBox(panel2, -1, wxPoint(5, 5), wxSize(170, 80), 5, animals);
+
+  c = new wxLayoutConstraints;
+  c->left.SameAs(panel2, wxLeft, 4);
+  c->top.SameAs(panel2, wxTop, 4);
+  c->height.PercentOf(panel2, wxHeight, 50);
+  c->right.SameAs(panel2, wxRight, 4);
+  listbox->SetConstraints(c);
 
 
-  (void)new wxTextCtrl(panel2, -1, "Some notes about the animals in this house", wxPoint(5, 100), wxSize(170, 100),
-    wxTE_MULTILINE);
+  wxTextCtrl *text = new wxTextCtrl(panel2, -1, "Some notes about the animals in this house", wxPoint(5, 100), wxSize(170, 100), wxTE_MULTILINE);
+  c = new wxLayoutConstraints;
+  c->left.SameAs(panel2, wxLeft, 4);
+  c->bottom.SameAs(panel2, wxBottom, 4);
+  c->top.Below(listbox, 4);
+  c->right.SameAs(panel2, wxRight, 4);
+  text->SetConstraints(c);
 
   notebook->AddPage(panel2, "Dog");
 
   notebook->AddPage(panel2, "Dog");
+
   wxPanel *panel3 = new wxPanel(notebook, -1);
   panel3->SetBackgroundColour(wxColour("WHITE"));
   notebook->AddPage(panel3, "Goat");
   wxPanel *panel3 = new wxPanel(notebook, -1);
   panel3->SetBackgroundColour(wxColour("WHITE"));
   notebook->AddPage(panel3, "Goat");
@@ -108,11 +122,13 @@ void MyApp::InitTabView(wxNotebook* notebook, wxWindow* window)
   wxPanel *panel4 = new wxPanel(notebook, -1);
   panel4->SetBackgroundColour(wxColour("YELLOW"));
   notebook->AddPage(panel4, "Sheep");
   wxPanel *panel4 = new wxPanel(notebook, -1);
   panel4->SetBackgroundColour(wxColour("YELLOW"));
   notebook->AddPage(panel4, "Sheep");
-  
+
   wxPanel *panel5 = new wxPanel(notebook, -1);
   panel5->SetBackgroundColour(wxColour("MAGENTA"));
   (void)new wxStaticText(panel5, -1, "This page has been inserted, not added", wxPoint(10, 10) );
   notebook->InsertPage(0, panel5, "Sheep");
   wxPanel *panel5 = new wxPanel(notebook, -1);
   panel5->SetBackgroundColour(wxColour("MAGENTA"));
   (void)new wxStaticText(panel5, -1, "This page has been inserted, not added", wxPoint(10, 10) );
   notebook->InsertPage(0, panel5, "Sheep");
+
+  notebook->SetSelection(2);
 }
 
 BEGIN_EVENT_TABLE(MyDialog, wxDialog)
 }
 
 BEGIN_EVENT_TABLE(MyDialog, wxDialog)
index 5712bf60ba858adc8108c116455afe0b0142cfc3..6adf75e2df0fff527fd589bec893433e0ef304af 100644 (file)
@@ -16,6 +16,8 @@
 #pragma hdrstop
 #endif
 
 #pragma hdrstop
 #endif
 
+#if wxUSE_FS_INET || wxUSE_FS_ZIP
+
 #ifndef WXPRECOMP
 #include <wx/wx.h>
 #endif
 #ifndef WXPRECOMP
 #include <wx/wx.h>
 #endif
@@ -66,7 +68,7 @@ wxString wxFileSystemHandler::GetProtocol(const wxString& location) const
 
     fnd = FALSE;
     for (i = l-1; (i >= 0) && ((location[i] != '#') || (!fnd)); i--) {
 
     fnd = FALSE;
     for (i = l-1; (i >= 0) && ((location[i] != '#') || (!fnd)); i--) {
-       if ((location[i] == ':') && (i != 1 /*win: C:\path*/)) fnd = TRUE;
+        if ((location[i] == ':') && (i != 1 /*win: C:\path*/)) fnd = TRUE;
     }
     if (!fnd) return "file";
     for (++i; (i < l) && (location[i] != ':'); i++) s << location[i];
     }
     if (!fnd) return "file";
     for (++i; (i < l) && (location[i] != ':'); i++) s << location[i];
@@ -291,4 +293,5 @@ IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule)
 
 
 
 
 
 
+#endif // wxUSE_FS_INET || wxUSE_FS_ZIP
 
 
index acb0c25831df3f6d7ba032c6c0819c4a36e1b270..3c016825ac61769f6d5abbeaed69977eecbe4a7d 100644 (file)
@@ -8,7 +8,7 @@
 
 /*
 
 
 /*
 
-REMARKS : 
+REMARKS :
 
 This FS creates local cache (in /tmp directory). The cache is freed
 on program exit.
 
 This FS creates local cache (in /tmp directory). The cache is freed
 on program exit.
@@ -29,6 +29,8 @@ limitation)
 #pragma hdrstop
 #endif
 
 #pragma hdrstop
 #endif
 
+#if wxUSE_FS_INET
+
 #ifndef WXPRECOMP
 #include <wx/wx.h>
 #endif
 #ifndef WXPRECOMP
 #include <wx/wx.h>
 #endif
@@ -125,6 +127,4 @@ wxInternetFSHandler::~wxInternetFSHandler()
     }
 }
 
     }
 }
 
-
-
-
+#endif // wxUSE_FS_INET
index 2bd3b224ed2beef7727e6216d67905e1ede9d3ed..a77a338dff0cebedc16652cfd4bb79ae37c43056 100644 (file)
@@ -17,6 +17,8 @@
 #pragma hdrstop
 #endif
 
 #pragma hdrstop
 #endif
 
+#if wxUSE_FS_ZIP
+
 #ifndef WXPRECOMP
 #include <wx/wx.h>
 #endif
 #ifndef WXPRECOMP
 #include <wx/wx.h>
 #endif
@@ -67,9 +69,4 @@ wxZipFSHandler::~wxZipFSHandler()
 {
 }
 
 {
 }
 
-
-
-
-
-
-
+#endif // wxUSE_FS_ZIP
index 7d2f23a120020221ac48568c0258482aa00bed0f..3e2dc3124cf938f2d6ab5f0a79e517300bc80f51 100644 (file)
@@ -113,8 +113,8 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
         gtk_signal_connect( GTK_OBJECT(m_radio), "clicked",
            GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this );
 
         gtk_signal_connect( GTK_OBJECT(m_radio), "clicked",
            GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this );
 
-        gtk_myfixed_put( GTK_MYFIXED(m_parent->m_wxwindow), 
-                         GTK_WIDGET(m_radio), 
+        gtk_myfixed_put( GTK_MYFIXED(m_parent->m_wxwindow),
+                         GTK_WIDGET(m_radio),
                          m_x+10, m_y+10+(i*24), 10, 10 );
     }
 
                          m_x+10, m_y+10+(i*24), 10, 10 );
     }
 
@@ -163,6 +163,14 @@ wxSize wxRadioBox::LayoutItems()
     int x = 7;
     int y = 15;
 
     int x = 7;
     int y = 15;
 
+    if ( m_majorDim == 0 )
+    {
+        // avoid dividing by 0 below
+        wxFAIL_MSG( "dimension of radiobox should not be 0!" );
+
+        m_majorDim = 1;
+    }
+
     int num_per_major = (m_boxes.GetCount() - 1) / m_majorDim +1;
 
     wxSize res( 0, 0 );
     int num_per_major = (m_boxes.GetCount() - 1) / m_majorDim +1;
 
     wxSize res( 0, 0 );
@@ -254,7 +262,7 @@ bool wxRadioBox::Show( bool show )
 
     if ((m_windowStyle & wxNO_BORDER) != 0)
         gtk_widget_hide( m_widget );
 
     if ((m_windowStyle & wxNO_BORDER) != 0)
         gtk_widget_hide( m_widget );
-    
+
     wxNode *node = m_boxes.First();
     while (node)
     {
     wxNode *node = m_boxes.First();
     while (node)
     {
index 7d2f23a120020221ac48568c0258482aa00bed0f..3e2dc3124cf938f2d6ab5f0a79e517300bc80f51 100644 (file)
@@ -113,8 +113,8 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
         gtk_signal_connect( GTK_OBJECT(m_radio), "clicked",
            GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this );
 
         gtk_signal_connect( GTK_OBJECT(m_radio), "clicked",
            GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this );
 
-        gtk_myfixed_put( GTK_MYFIXED(m_parent->m_wxwindow), 
-                         GTK_WIDGET(m_radio), 
+        gtk_myfixed_put( GTK_MYFIXED(m_parent->m_wxwindow),
+                         GTK_WIDGET(m_radio),
                          m_x+10, m_y+10+(i*24), 10, 10 );
     }
 
                          m_x+10, m_y+10+(i*24), 10, 10 );
     }
 
@@ -163,6 +163,14 @@ wxSize wxRadioBox::LayoutItems()
     int x = 7;
     int y = 15;
 
     int x = 7;
     int y = 15;
 
+    if ( m_majorDim == 0 )
+    {
+        // avoid dividing by 0 below
+        wxFAIL_MSG( "dimension of radiobox should not be 0!" );
+
+        m_majorDim = 1;
+    }
+
     int num_per_major = (m_boxes.GetCount() - 1) / m_majorDim +1;
 
     wxSize res( 0, 0 );
     int num_per_major = (m_boxes.GetCount() - 1) / m_majorDim +1;
 
     wxSize res( 0, 0 );
@@ -254,7 +262,7 @@ bool wxRadioBox::Show( bool show )
 
     if ((m_windowStyle & wxNO_BORDER) != 0)
         gtk_widget_hide( m_widget );
 
     if ((m_windowStyle & wxNO_BORDER) != 0)
         gtk_widget_hide( m_widget );
-    
+
     wxNode *node = m_boxes.First();
     while (node)
     {
     wxNode *node = m_boxes.First();
     while (node)
     {