diff --git a/wxc/src/cpp/hyperlinkctrl.cpp b/wxc/src/cpp/hyperlinkctrl.cpp new file mode 100644 index 00000000..16f59134 --- /dev/null +++ b/wxc/src/cpp/hyperlinkctrl.cpp @@ -0,0 +1,64 @@ +#include "wrapper.h" +#include + +extern "C" +{ + +EWXWEXPORT(wxHyperlinkCtrl*,wxHyperlinkCtrl_Create)(wxWindow* parent,int id,const wxString& label,const wxString &url, int x, int y, int w, int h, int style) +{ + return new wxHyperlinkCtrl(parent, id, label, url, wxPoint(x, y), wxSize(w, h), style); +} + +EWXWEXPORT(wxColour,wxHyperlinkCtrl_GetHoverColour)(wxHyperlinkCtrl* self) +{ + return self->GetHoverColour(); +} + +EWXWEXPORT(wxColour,wxHyperlinkCtrl_GetNormalColour)(wxHyperlinkCtrl* self) +{ + return self->GetNormalColour(); +} + +EWXWEXPORT(wxString,wxHyperlinkCtrl_GetURL)(wxHyperlinkCtrl* self) +{ + return self->GetURL(); +} + +EWXWEXPORT(bool,wxHyperlinkCtrl_GetVisited)(wxHyperlinkCtrl* self) +{ + return self->GetVisited(); +} + +EWXWEXPORT(wxColour,wxHyperlinkCtrl_GetVisitedColour)(wxHyperlinkCtrl* self) +{ + return self->GetVisitedColour(); +} + +EWXWEXPORT(void,wxHyperlinkCtrl_SetHoverColour)(wxHyperlinkCtrl* self,const wxColour &colour) +{ + self->SetHoverColour(colour); +} + +EWXWEXPORT(void,wxHyperlinkCtrl_SetNormalColour)(wxHyperlinkCtrl* self,const wxColour &colour) +{ + self->SetNormalColour(colour); +} + +EWXWEXPORT(void,wxHyperlinkCtrl_SetURL)(wxHyperlinkCtrl* self,const wxString &url) +{ + self->SetURL(url); +} + +EWXWEXPORT(void,wxHyperlinkCtrl_SetVisited)(wxHyperlinkCtrl* self,bool visited) +{ + self->SetVisited(visited); +} + +EWXWEXPORT(void,wxHyperlinkCtrl_SetVisitedColour)(wxHyperlinkCtrl* self,const wxColour &colour) +{ + self->SetVisitedColour(colour); +} + +} + + diff --git a/wxc/src/cpp/pickerctrl.cpp b/wxc/src/cpp/pickerctrl.cpp new file mode 100644 index 00000000..a3a6a032 --- /dev/null +++ b/wxc/src/cpp/pickerctrl.cpp @@ -0,0 +1,24 @@ +#include "wrapper.h" +#include + + +extern "C" +{ + +EWXWEXPORT( wxColourPickerCtrl*,wxColorPickerCtrl_Create)(wxWindow* parent,int id,const wxColour& colour, int x, int y, int w, int h, int style) +{ + return new wxColourPickerCtrl(parent, id, colour, wxPoint(x, y), wxSize(w, h), style); +} + +EWXWEXPORT( void,wxColorPickerCtrl_GetColour)(wxColourPickerCtrl* self, wxColour* colour) +{ + *colour = self->GetColour(); +} + +EWXWEXPORT( void,wxColorPickerCtrl_SetColour)(wxColourPickerCtrl* self,const wxColour &colour) +{ + self->SetColour(colour); +} + +} + diff --git a/wxc/src/cpp/stream.cpp b/wxc/src/cpp/stream.cpp new file mode 100644 index 00000000..9ca0df73 --- /dev/null +++ b/wxc/src/cpp/stream.cpp @@ -0,0 +1,59 @@ +#include "wrapper.h" +#include + +extern "C" +{ + +/*----------------------------------------------------------------------------- + Memory Input stream +-----------------------------------------------------------------------------*/ + +EWXWEXPORT( wxMemoryInputStream*, wxMemoryInputStream_Create)(void* data,int len) +{ + return new wxMemoryInputStream((unsigned char*) data,len); +} + +EWXWEXPORT( void, wxMemoryInputStream_Delete)(wxMemoryInputStream* self) +{ + if (self) delete self; +} + +/*----------------------------------------------------------------------------- + File Input stream +-----------------------------------------------------------------------------*/ + +EWXWEXPORT( wxFileInputStream*, wxFileInputStream_Create)(wxString* ofileName) +{ + return new wxFileInputStream(*ofileName); +} + +EWXWEXPORT( void, wxFileInputStream_Delete)(wxFileInputStream* self) +{ + if (self) delete self; +} + +EWXWEXPORT( bool, wxFileInputStream_IsOk)(wxFileInputStream* self) +{ + return self->IsOk(); +} + +/*----------------------------------------------------------------------------- + File Output stream +-----------------------------------------------------------------------------*/ + +EWXWEXPORT( wxFileOutputStream*, wxFileOutputStream_Create)(wxString* ofileName) +{ + return new wxFileOutputStream(*ofileName); +} + +EWXWEXPORT( void, wxFileOutputStream_Delete)(wxFileOutputStream* self) +{ + if (self) delete self; +} + +EWXWEXPORT( bool, wxFileOutputStream_IsOk)(wxFileOutputStream* self) +{ + return self->IsOk(); +} + +} \ No newline at end of file diff --git a/wxc/src/include/hyperlinkctrl.h b/wxc/src/include/hyperlinkctrl.h new file mode 100644 index 00000000..137545a4 --- /dev/null +++ b/wxc/src/include/hyperlinkctrl.h @@ -0,0 +1,22 @@ +/*----------------------------------------------------------------------------- + HyperlinkCtrl +-----------------------------------------------------------------------------*/ + +TClassDefExtend(wxHyperlinkCtrl,wxControl); + + +TClass(wxHyperlinkCtrl) wxHyperlinkCtrl_Create( TClass(wxWindow) parent, int id, TClass(wxString) label,TClass(wxString) url, TRect(x,y,w,h), int style); +TClass(wxColour) wxHyperlinkCtrl_GetHoverColour( TSelf(wxHyperlinkCtrl) self); +TClass(wxColour) wxHyperlinkCtrl_GetNormalColour( TSelf(wxHyperlinkCtrl) self); +TClass(wxString) wxHyperlinkCtrl_GetURL( TSelf(wxHyperlinkCtrl) self); +TBool wxHyperlinkCtrl_GetVisited( TSelf(wxHyperlinkCtrl) self); +TClass(wxColour) wxHyperlinkCtrl_GetVisitedColour( TSelf(wxHyperlinkCtrl) self); +void wxHyperlinkCtrl_SetHoverColour( TSelf(wxHyperlinkCtrl) self, TClass(wxColour) colour); +void wxHyperlinkCtrl_SetNormalColour( TSelf(wxHyperlinkCtrl) self, TClass(wxColour) colour); +void wxHyperlinkCtrl_SetURL( TSelf(wxHyperlinkCtrl) self, TClass(wxString) url); +void wxHyperlinkCtrl_SetVisited( TSelf(wxHyperlinkCtrl) self, TBool visited); +void wxHyperlinkCtrl_SetVisitedColour( TSelf(wxHyperlinkCtrl) self, TClass(wxColour) colour); + + + + diff --git a/wxc/src/include/pickerctrl.h b/wxc/src/include/pickerctrl.h new file mode 100644 index 00000000..77180f22 --- /dev/null +++ b/wxc/src/include/pickerctrl.h @@ -0,0 +1,18 @@ +/*----------------------------------------------------------------------------- + PickerBase +-----------------------------------------------------------------------------*/ + +TClassDefExtend( wxPickerBase,wxControl); + +/*----------------------------------------------------------------------------- + ColourPickerCtrl +-----------------------------------------------------------------------------*/ + +TClassDefExtend( wxColourPickerCtrl,wxPickerBase); + +// wxdirect ignore wxColour.. -> wxColorPickerCtrl_.. without u +TClass(wxColourPickerCtrl) wxColorPickerCtrl_Create( TClass(wxWindow) parent, int id, TClass(wxColour) colour, TRect(x,y,w,h), int style); +void wxColorPickerCtrl_GetColour( TSelf(wxColourPickerCtrl) self,TClassRef(wxColour) colour); +void wxColorPickerCtrl_SetColour( TSelf(wxColourPickerCtrl) self, TClass(wxColour) colour); + + diff --git a/wxc/src/include/stream.h b/wxc/src/include/stream.h new file mode 100644 index 00000000..338b8179 --- /dev/null +++ b/wxc/src/include/stream.h @@ -0,0 +1,27 @@ +#ifndef FILESTEAM_H +#define FILESTEAM_H + +/*----------------------------------------------------------------------------- + Memory Input stream +-----------------------------------------------------------------------------*/ + +TClass(wxMemoryInputStream) wxMemoryInputStream_Create(void* data,int len); +void wxMemoryInputStream_Delete( TSelf(wxMemoryInputStream) self ); + +/*----------------------------------------------------------------------------- + File Input stream +-----------------------------------------------------------------------------*/ + +TClass(wxFileInputStream) wxFileInputStream_Create(TClass(wxString) ofileName); +void wxFileInputStream_Delete( TSelf(wxFileInputStream) self ); +TBool wxFileInputStream_IsOk( TSelf(wxFileInputStream) self); + +/*----------------------------------------------------------------------------- + File Output stream +-----------------------------------------------------------------------------*/ + +TClass(wxFileOutputStream) wxFileOutputStream_Create(TClass(wxString) ofileName); +void wxFileOutputStream_Delete( TSelf(wxFileOutputStream) self ); +TBool wxFileOutputStream_IsOk( TSelf(wxFileOutputStream) self); + +#endif /* FILESTEAM_H */ \ No newline at end of file diff --git a/wxc/src/include/wxc.h b/wxc/src/include/wxc.h index 8441d202..e5a55743 100644 --- a/wxc/src/include/wxc.h +++ b/wxc/src/include/wxc.h @@ -39,6 +39,9 @@ #include "previewframe.h" #include "printout.h" #include "textstream.h" +#include "stream.h" +#include "hyperlinkctrl.h" +#include "pickerctrl.h" #include "stc.h" /*----------------------------------------------------------------------------- diff --git a/wxc/wxc.cabal b/wxc/wxc.cabal index 9a3bef75..d78f388c 100644 --- a/wxc/wxc.cabal +++ b/wxc/wxc.cabal @@ -116,11 +116,14 @@ extra-source-files: src/cpp/eljwizard.cpp src/cpp/ewxw_main.cpp src/cpp/extra.cpp + src/cpp/stream.cpp src/cpp/glcanvas.cpp src/cpp/graphicscontext.cpp + src/cpp/hyperlinkctrl.cpp src/cpp/image.cpp src/cpp/managed.cpp src/cpp/mediactrl.cpp + src/cpp/pickerctrl.cpp src/cpp/previewframe.cpp src/cpp/printout.cpp src/cpp/sckaddr.cpp @@ -147,10 +150,13 @@ library dragimage.h eljgrid.h ewxw_def.h + stream.h graphicscontext.h glcanvas.h + hyperlinkctrl.h managed.h mediactrl.h + pickerctrl.h previewframe.h printout.h sound.h @@ -263,11 +269,14 @@ library src/cpp/eljwizard.cpp src/cpp/ewxw_main.cpp src/cpp/extra.cpp + src/cpp/stream.cpp src/cpp/glcanvas.cpp src/cpp/graphicscontext.cpp + src/cpp/hyperlinkctrl.cpp src/cpp/image.cpp src/cpp/managed.cpp src/cpp/mediactrl.cpp + src/cpp/pickerctrl.cpp src/cpp/previewframe.cpp src/cpp/printout.cpp src/cpp/sckaddr.cpp diff --git a/wxcore/src/haskell/Graphics/UI/WXCore/WxcDefs.hs b/wxcore/src/haskell/Graphics/UI/WXCore/WxcDefs.hs index a9f39b53..f87dad79 100644 --- a/wxcore/src/haskell/Graphics/UI/WXCore/WxcDefs.hs +++ b/wxcore/src/haskell/Graphics/UI/WXCore/WxcDefs.hs @@ -269,6 +269,11 @@ module Graphics.UI.WXCore.WxcDefs , wxCONFIG_USE_RELATIVE_PATH , wxCOPY , wxCOSE_X + , wxPB_USE_TEXTCTRL + , wxPB_SMALL + , wxCLRP_USE_TEXTCTRL + , wxCLRP_DEFAULT_STYLE + , wxCLRP_SHOW_LABEL , wxCROSSDIAG_HATCH , wxCROSS_HATCH , wxCURSES @@ -555,6 +560,11 @@ module Graphics.UI.WXCore.WxcDefs , wxHSCROLL , wxHW_SCROLLBAR_AUTO , wxHW_SCROLLBAR_NEVER + , wxHL_CONTEXTMENU + , wxHL_ALIGN_LEFT + , wxHL_ALIGN_RIGHT + , wxHL_ALIGN_CENTRE + , wxHL_DEFAULT_STYLE , wxICONIZE , wxICON_EXCLAMATION , wxICON_HAND @@ -4304,6 +4314,32 @@ wxTEXT_ATTR_LINE_SPACING_TWICE = 20 --End wxTextCtrl style flags +-- PickerBase style flags +wxPB_USE_TEXTCTRL :: Int +wxPB_USE_TEXTCTRL = 0x0002 +wxPB_SMALL :: Int +wxPB_SMALL = 0x8000 + +-- ColourPickerCtrl style flags +wxCLRP_USE_TEXTCTRL :: Int +wxCLRP_USE_TEXTCTRL = wxPB_USE_TEXTCTRL +wxCLRP_DEFAULT_STYLE :: Int +wxCLRP_DEFAULT_STYLE = 0 +wxCLRP_SHOW_LABEL :: Int +wxCLRP_SHOW_LABEL = 0x0008 + +-- HyperlinkCtrl style flags +wxHL_CONTEXTMENU :: Int +wxHL_CONTEXTMENU = 0x0001 +wxHL_ALIGN_LEFT :: Int +wxHL_ALIGN_LEFT = 0x0002 +wxHL_ALIGN_RIGHT :: Int +wxHL_ALIGN_RIGHT = 0x0004 +wxHL_ALIGN_CENTRE :: Int +wxHL_ALIGN_CENTRE = 0x0008 +wxHL_DEFAULT_STYLE :: Int +wxHL_DEFAULT_STYLE = wxHL_CONTEXTMENU.|.wxNO_BORDER.|.wxHL_ALIGN_CENTRE + wxPROCESS_ENTER :: Int wxPROCESS_ENTER = 1024