Makefile
template.mak
TODO.txt
-configure
configure.in
config.guess
config.sub
docs/msw/*.txt
docs/licence.txt
+distrib/msw/*.rsp
+distrib/msw/*.bat
+
src/makeb32.env
src/makebcc.env
src/makemsw.env
typedef void* WXWindow;
typedef void* WXWidget;
typedef void* WXAppContext;
-typedef void* WXMainColormap;
+typedef void* WXColormap;
typedef void WXDisplay;
typedef void WXEvent;
+typedef void* WXCursor;
#endif
#endif
#include "wx/msw/ole/droptgt.h"
#include "wx/msw/ole/dataobj.h"
#elif defined(__WXMOTIF__)
+#include "wx/motif/dnd.h"
#elif defined(__WXGTK__)
#include "wx/gtk/dnd.h"
#elif defined(__WXQT__)
// wxDropSource
//-------------------------------------------------------------------------
+ enum wxDragResult
+ {
+ wxDragError, // error prevented the d&d operation from completing
+ wxDragNone, // drag target didn't accept the data
+ wxDragCopy, // the data was successfully copied
+ wxDragMove, // the data was successfully moved
+ wxDragCancel // the operation was cancelled by user (not an error)
+ };
+
class wxDropSource: public wxObject
{
public:
- enum DragResult
- {
- Error, // error prevented the d&d operation from completing
- None, // drag target didn't accept the data
- Copy, // the data was successfully copied
- Move, // the data was successfully moved
- Cancel // the operation was cancelled by user (not an error)
- };
-
wxDropSource( wxWindow *win );
wxDropSource( wxDataObject &data, wxWindow *win );
~wxDropSource(void);
void SetData( wxDataObject &data );
- DragResult DoDragDrop( bool bAllowMove = FALSE );
+ wxDragResult DoDragDrop( bool bAllowMove = FALSE );
- virtual bool GiveFeedback( DragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
+ virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
protected:
GtkWidget *m_widget;
wxWindow *m_window;
- DragResult m_retValue;
+ wxDragResult m_retValue;
wxDataObject *m_data;
wxCursor m_defaultCursor;
// wxDropSource
//-------------------------------------------------------------------------
+ enum wxDragResult
+ {
+ wxDragError, // error prevented the d&d operation from completing
+ wxDragNone, // drag target didn't accept the data
+ wxDragCopy, // the data was successfully copied
+ wxDragMove, // the data was successfully moved
+ wxDragCancel // the operation was cancelled by user (not an error)
+ };
+
class wxDropSource: public wxObject
{
public:
- enum DragResult
- {
- Error, // error prevented the d&d operation from completing
- None, // drag target didn't accept the data
- Copy, // the data was successfully copied
- Move, // the data was successfully moved
- Cancel // the operation was cancelled by user (not an error)
- };
-
wxDropSource( wxWindow *win );
wxDropSource( wxDataObject &data, wxWindow *win );
~wxDropSource(void);
void SetData( wxDataObject &data );
- DragResult DoDragDrop( bool bAllowMove = FALSE );
+ wxDragResult DoDragDrop( bool bAllowMove = FALSE );
- virtual bool GiveFeedback( DragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
+ virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
protected:
GtkWidget *m_widget;
wxWindow *m_window;
- DragResult m_retValue;
+ wxDragResult m_retValue;
wxDataObject *m_data;
wxCursor m_defaultCursor;
class wxIDropSource;
class wxDataObject;
+enum wxDragResult
+ {
+ wxDragError, // error prevented the d&d operation from completing
+ wxDragNone, // drag target didn't accept the data
+ wxDragCopy, // the data was successfully copied
+ wxDragMove, // the data was successfully moved
+ wxDragCancel // the operation was cancelled by user (not an error)
+ };
+
// ----------------------------------------------------------------------------
// wxDropSource is used to start the drag-&-drop operation on associated
// wxDataObject object. It's responsible for giving UI feedback while dragging.
class wxDropSource
{
public:
- enum DragResult
- {
- Error, // error prevented the d&d operation from completing
- None, // drag target didn't accept the data
- Copy, // the data was successfully copied
- Move, // the data was successfully moved
- Cancel // the operation was cancelled by user (not an error)
- };
-
// ctors: if you use default ctor you must call SetData() later!
// NB: the "wxWindow *win" parameter is unused and is here only for wxGTK
// compatibility
// do it (call this in response to a mouse button press, for example)
// params: if bAllowMove is false, data can be only copied
- DragResult DoDragDrop(bool bAllowMove = FALSE);
+ wxDragResult DoDragDrop(bool bAllowMove = FALSE);
// overridable: you may give some custom UI feedback during d&d operation
// in this function (it's called on each mouse move, so it shouldn't be too
// slow). Just return false if you want default feedback.
- virtual bool GiveFeedback(DragResult effect, bool bScrolling);
+ virtual bool GiveFeedback(wxDragResult effect, bool bScrolling);
protected:
void Init();
wxIDropSource *m_pIDropSource; // the pointer to COM interface
};
-#endif //_WX_OLEDROPSRC_H
\ No newline at end of file
+#endif //_WX_OLEDROPSRC_H
inline virtual void SetDefaultItem(wxButton *but);
virtual void SetAcceleratorTable(const wxAcceleratorTable& accel);
+ inline virtual wxAcceleratorTable& GetAcceleratorTable() const { return (wxAcceleratorTable&) m_acceleratorTable; }
// Override to define new behaviour for default action (e.g. double clicking
// on a listbox)
// wxDropSource
//-------------------------------------------------------------------------
+enum wxDragResult
+ {
+ wxDragError, // error prevented the d&d operation from completing
+ wxDragNone, // drag target didn't accept the data
+ wxDragCopy, // the data was successfully copied
+ wxDragMove, // the data was successfully moved
+ wxDragCancel // the operation was cancelled by user (not an error)
+ };
+
class WXDLLEXPORT wxDropSource: public wxObject
{
public:
- enum DragResult
- {
- Error, // error prevented the d&d operation from completing
- None, // drag target didn't accept the data
- Copy, // the data was successfully copied
- Move, // the data was successfully moved
- Cancel // the operation was cancelled by user (not an error)
- };
-
wxDropSource( wxWindow *win );
wxDropSource( wxDataObject &data, wxWindow *win );
~wxDropSource(void);
void SetData( wxDataObject &data );
- DragResult DoDragDrop( bool bAllowMove = FALSE );
+ wxDragResult DoDragDrop( bool bAllowMove = FALSE );
- virtual bool GiveFeedback( DragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
+ virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
protected:
virtual void Maximize(bool maximize);
- virtual void SetAcceleratorTable(const wxAcceleratorTable& accel);
-
// Responds to colour changes
void OnSysColourChanged(wxSysColourChangedEvent& event);
bool m_iconized;
static bool m_useNativeStatusBar;
wxToolBar * m_frameToolBar ;
- wxAcceleratorTable m_acceleratorTable;
DECLARE_EVENT_TABLE()
};
#include "wx/string.h"
#include "wx/list.h"
#include "wx/region.h"
+#include "wx/accel.h"
#define wxKEY_SHIFT 1
#define wxKEY_CTRL 2
inline int GetId() const;
inline void SetId(int id);
+ virtual void SetAcceleratorTable(const wxAcceleratorTable& accel);
+ inline virtual wxAcceleratorTable& GetAcceleratorTable() const { return (wxAcceleratorTable&) m_acceleratorTable; }
+
// Make the window modal (all other windows unresponsive)
virtual void MakeModal(bool modal);
wxColour m_foregroundColour ;
wxColour m_defaultBackgroundColour;
wxColour m_defaultForegroundColour;
+ wxAcceleratorTable m_acceleratorTable;
#if USE_DRAG_AND_DROP
wxDropTarget *m_pDropTarget; // the current drop target or NULL
#if defined(__WXMSW__)
#include "wx/msw/taskbar.h"
#elif defined(__WXMOTIF__)
+#include "wx/motif/taskbar.h"
#elif defined(__WXGTK__)
#elif defined(__WXQT__)
#elif defined(__WXMAC__)
#include "wx/list.h"
#include "wx/tbarbase.h"
+class WXDLLEXPORT wxMemoryDC;
+
WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
WXDLLEXPORT_DATA(extern const wxSize) wxDefaultSize;
WXDLLEXPORT_DATA(extern const wxPoint) wxDefaultPosition;
# include "wx/msw/tbarmsw.h"
# define wxToolBar wxToolBarMSW
# define sm_classwxToolBar sm_classwxToolBarMSW
+#elif defined(__WXMOTIF__)
+# include "wx/tbarsmpl.h"
+# define wxToolBar wxToolBarSimple
+# define sm_classwxToolBar sm_classwxToolBarSimple
#elif defined(__WXGTK__)
# include "wx/gtk/tbargtk.h"
#elif defined(__WXQT__)
// X only
#ifdef __X__
-// Get X display: often needed in the wxWindows implementation.
-Display *wxGetDisplay(void);
-/* Matthew Flatt: Added wxSetDisplay and wxGetDisplayName */
+WXDisplay *wxGetDisplay();
bool wxSetDisplay(const wxString& display_name);
-wxString wxGetDisplayName(void);
+wxString wxGetDisplayName();
#endif
#ifdef __X__
const char *pc;
switch ( dragSource.DoDragDrop(TRUE) ) {
- case wxDropSource::Error: pc = "Error!"; break;
- case wxDropSource::None: pc = "Nothing"; break;
- case wxDropSource::Copy: pc = "Copied"; break;
- case wxDropSource::Move: pc = "Moved"; break;
- case wxDropSource::Cancel: pc = "Cancelled"; break;
+ case wxDragError: pc = "Error!"; break;
+ case wxDragNone: pc = "Nothing"; break;
+ case wxDragCopy: pc = "Copied"; break;
+ case wxDragMove: pc = "Moved"; break;
+ case wxDragCancel: pc = "Cancelled"; break;
default: pc = "Huh?"; break;
}
#
# Makefile for minimal example (UNIX).
-include ../../src/makeprog.env
-
PROGRAM=minimal
OBJECTS=$(PROGRAM).o
+
+include ../../src/makeprog.env
+
#include "wx/cursor.h"
#include "wx/font.h"
#include "wx/palette.h"
+#include "wx/app.h"
#include "wx/log.h"
#include <string.h>
#include <windows.h>
#endif
+#ifdef __WXMOTIF__
+#include <Xm/Xm.h>
+#endif
+
#if !USE_SHARED_LIBRARY
IMPLEMENT_CLASS(wxColourDatabase, wxList)
IMPLEMENT_DYNAMIC_CLASS(wxFontList, wxList)
XColor xcolour;
#ifdef __WXMOTIF__
- Display *display = XtDisplay(wxTheApp->topLevel) ;
-#endif
-#ifdef __XVIEW__
- Xv_Screen screen = xv_get(xview_server, SERVER_NTH_SCREEN, 0);
- Xv_opaque root_window = xv_get(screen, XV_ROOT);
- Display *display = (Display *)xv_get(root_window, XV_DISPLAY);
+ Display *display = XtDisplay((Widget) wxTheApp->GetTopLevelWidget()) ;
#endif
/* MATTHEW: [4] Use wxGetMainColormap */
- if (!XParseColor(display, wxGetMainColormap(display), colour,&xcolour))
+ if (!XParseColor(display, (Colormap) wxTheApp->GetMainColormap((WXDisplay*) display), colour,&xcolour))
return NULL;
unsigned char r = (unsigned char)(xcolour.red >> 8);
#ifdef __WXMOTIF__
#endif
#ifdef __X__
- wxFontPool = new XFontPool;
+ // TODO
+ // wxFontPool = new XFontPool;
#endif
wxNORMAL_FONT = new wxFont (12, wxMODERN, wxNORMAL, wxNORMAL);
each_font->GetStyle () == Style &&
each_font->GetWeight () == Weight &&
each_font->GetUnderlined () == underline &&
-#if defined(__X__) || (defined(__WXMSW__) && USE_PORTABLE_FONTS_IN_MSW)
- each_font->GetFontId () == FamilyOrFontId) /* New font system */
-#else
+ //#if defined(__X__)
+ // each_font->GetFontId () == FamilyOrFontId) /* New font system */
+ //#else
each_font->GetFamily () == FamilyOrFontId &&
(!each_font->GetFaceName() || each_font->GetFaceName() == Face))
-#endif
+ //#endif
return each_font;
}
wxFont *font = new wxFont (PointSize, FamilyOrFontId, Style, Weight, underline, Face);
#endif
+#ifdef __WXMOTIF__
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#endif
+
#ifdef __WXMSW__
#ifdef DrawText
#else
#ifdef __WXMOTIF__
- d = source->display;
+ // TODO. for now, use global display
+ // d = source->display;
+ d = (Display*) wxGetDisplay();
#else
- d = wxGetDisplay();
+ d = (Display*) wxGetDisplay();
#endif
- cm = wxGetMainColormap(d);
- image = XGetImage(d, source->pixmap, x, y, width, height, AllPlanes, ZPixmap);
+ cm = (Colormap) wxTheApp->GetMainColormap((WXDisplay*) d);
+ // TODO - implement GetPixmap() and uncomment this line
+ // image = XGetImage(d, source->GetPixmap(), x, y, width, height, AllPlanes, ZPixmap);
#endif
StringToLong (WXSTRINGCAST text4->GetValue (), &wxThePrintSetupData->printerTranslateY);
#ifdef __X__
- wxThePrintSetupData->SetPrinterOptions(WXSTRINGCAST text0->GetValue ());
- wxThePrintSetupData->SetPrinterCommand(WXSTRINGCAST text_prt->GetValue ());
+ // wxThePrintSetupData->SetPrinterOptions(WXSTRINGCAST text0->GetValue ());
+ // wxThePrintSetupData->SetPrinterCommand(WXSTRINGCAST text_prt->GetValue ());
#endif
wxThePrintSetupData->SetPrinterOrientation((radio0->GetSelection() == 1 ? PS_LANDSCAPE : PS_PORTRAIT));
#endif
#ifdef __WXMOTIF__
-#define wxAPP_CONTEXT wxTheApp->appContext
+#define wxAPP_CONTEXT ((XtAppContext)wxTheApp->GetAppContext())
#endif
#ifdef __WINDOWS__
delete ptr;
- source->m_retValue = wxDropSource::Copy;
+ source->m_retValue = wxDragCopy;
}
wxDropSource::wxDropSource( wxWindow *win )
if (win->m_wxwindow) m_widget = win->m_wxwindow;
m_data = (wxDataObject *) NULL;
- m_retValue = Cancel;
+ m_retValue = wxDragCancel;
m_defaultCursor = wxCursor( wxCURSOR_NO_ENTRY );
m_goaheadCursor = wxCursor( wxCURSOR_HAND );
m_window = win;
m_widget = win->m_widget;
if (win->m_wxwindow) m_widget = win->m_wxwindow;
- m_retValue = Cancel;
+ m_retValue = wxDragCancel;
m_data = &data;
g_blockEventsOnDrag = FALSE;
}
-wxDropSource::DragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
+wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
{
- if (gdk_dnd.dnd_grabbed) return (wxDropSource::DragResult) None;
- if (gdk_dnd.drag_really) return (wxDropSource::DragResult) None;
+ if (gdk_dnd.dnd_grabbed) return (wxDragResult) wxDragNone;
+ if (gdk_dnd.drag_really) return (wxDragResult) wxDragNone;
wxASSERT_MSG( m_data, "wxDragSource: no data" );
- if (!m_data) return (wxDropSource::DragResult) None;
- if (m_data->GetDataSize() == 0) return (wxDropSource::DragResult) None;
+ if (!m_data) return (wxDragResult) wxDragNone;
+ if (m_data->GetDataSize() == 0) return (wxDragResult) wxDragNone;
GdkWindowPrivate *wp = (GdkWindowPrivate*) m_widget->window;
delete ptr;
- source->m_retValue = wxDropSource::Copy;
+ source->m_retValue = wxDragCopy;
}
wxDropSource::wxDropSource( wxWindow *win )
if (win->m_wxwindow) m_widget = win->m_wxwindow;
m_data = (wxDataObject *) NULL;
- m_retValue = Cancel;
+ m_retValue = wxDragCancel;
m_defaultCursor = wxCursor( wxCURSOR_NO_ENTRY );
m_goaheadCursor = wxCursor( wxCURSOR_HAND );
m_window = win;
m_widget = win->m_widget;
if (win->m_wxwindow) m_widget = win->m_wxwindow;
- m_retValue = Cancel;
+ m_retValue = wxDragCancel;
m_data = &data;
g_blockEventsOnDrag = FALSE;
}
-wxDropSource::DragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
+wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
{
- if (gdk_dnd.dnd_grabbed) return (wxDropSource::DragResult) None;
- if (gdk_dnd.drag_really) return (wxDropSource::DragResult) None;
+ if (gdk_dnd.dnd_grabbed) return (wxDragResult) wxDragNone;
+ if (gdk_dnd.drag_really) return (wxDragResult) wxDragNone;
wxASSERT_MSG( m_data, "wxDragSource: no data" );
- if (!m_data) return (wxDropSource::DragResult) None;
- if (m_data->GetDataSize() == 0) return (wxDropSource::DragResult) None;
+ if (!m_data) return (wxDragResult) wxDragNone;
+ if (m_data->GetDataSize() == 0) return (wxDragResult) wxDragNone;
GdkWindowPrivate *wp = (GdkWindowPrivate*) m_widget->window;
// Notes : default implementation is ok in more than 99% of cases
STDMETHODIMP wxIDropSource::GiveFeedback(DWORD dwEffect)
{
- wxDropSource::DragResult effect;
+ wxDragResult effect;
if ( dwEffect & DROPEFFECT_COPY )
- effect = wxDropSource::Copy;
+ effect = wxDragCopy;
else if ( dwEffect & DROPEFFECT_MOVE )
- effect = wxDropSource::Move;
+ effect = wxDragMove;
else
- effect = wxDropSource::None;
+ effect = wxDragNone;
if ( m_pDropSource->GiveFeedback(effect,
(dwEffect & DROPEFFECT_SCROLL) != 0 ) )
// Name : DoDragDrop
// Purpose : start drag and drop operation
-// Returns : DragResult - the code of performed operation
+// Returns : wxDragResult - the code of performed operation
// Params : [in] bool bAllowMove: if false, only copy is allowed
// Notes : you must call SetData() before if you had used def ctor
-wxDropSource::DragResult wxDropSource::DoDragDrop(bool bAllowMove)
+wxDragResult wxDropSource::DoDragDrop(bool bAllowMove)
{
- wxCHECK_MSG( m_pData != NULL, None, "No data in wxDropSource!" );
+ wxCHECK_MSG( m_pData != NULL, wxDragNone, "No data in wxDropSource!" );
DWORD dwEffect;
HRESULT hr = ::DoDragDrop(m_pData->GetInterface(),
&dwEffect);
if ( hr == DRAGDROP_S_CANCEL ) {
- return Cancel;
+ return wxDragCancel;
}
else if ( hr == DRAGDROP_S_DROP ) {
if ( dwEffect & DROPEFFECT_COPY ) {
- return Copy;
+ return wxDragCopy;
}
else if ( dwEffect & DROPEFFECT_MOVE ) {
// consistency check: normally, we shouldn't get "move" at all
// here if !bAllowMove, but in practice it does happen quite often
if ( bAllowMove )
- return Move;
+ return wxDragMove;
else
- return Copy;
+ return wxDragCopy;
}
else {
// not copy or move
- return None;
+ return wxDragNone;
}
}
else {
wxLogDebug("Unexpected success return code %08lx from DoDragDrop.", hr);
}
- return Error;
+ return wxDragError;
}
}
// Params : [in] DragResult effect - what would happen if we dropped now
// [in] bool bScrolling - true if target is scrolling
// Notes : here we just leave this stuff for default implementation
-bool wxDropSource::GiveFeedback(DragResult effect, bool bScrolling)
+bool wxDropSource::GiveFeedback(wxDragResult effect, bool bScrolling)
{
return FALSE;
}
-#endif //USE_DRAG_AND_DROP
\ No newline at end of file
+#endif //USE_DRAG_AND_DROP
{
};
-wxDropSource::DragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
+wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
{
// TODO
- return Error;
+ return wxDragError;
};
// TODO
}
-void wxFrame::SetAcceleratorTable(const wxAcceleratorTable& accel)
-{
- m_acceleratorTable = accel;
-}
-
wxStatusBar *wxFrame::OnCreateStatusBar(int number, long style, wxWindowID id,
const wxString& name)
{
m_windowValidator->SetWindow(this) ;
}
+void wxWindow::SetAcceleratorTable(const wxAcceleratorTable& accel)
+{
+ m_acceleratorTable = accel;
+}
+
// Find a window by id or name
wxWindow *wxWindow::FindWindow(long id)
{