Skip to content

Commit

Permalink
Merge pull request jodonoghue#20 from AB12345678/master
Browse files Browse the repository at this point in the history
Added support for Pickerctrl,Hyperlinkctrl and some Streams in wxc an…
  • Loading branch information
HJvT committed Oct 25, 2015
2 parents ce95c75 + 7dd3959 commit c40c9e8
Show file tree
Hide file tree
Showing 9 changed files with 262 additions and 0 deletions.
64 changes: 64 additions & 0 deletions wxc/src/cpp/hyperlinkctrl.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#include "wrapper.h"
#include <wx/hyperlink.h>

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);
}

}


24 changes: 24 additions & 0 deletions wxc/src/cpp/pickerctrl.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include "wrapper.h"
#include <wx/clrpicker.h>


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);
}

}

59 changes: 59 additions & 0 deletions wxc/src/cpp/stream.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#include "wrapper.h"
#include <wx/wfstream.h>

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();
}

}
22 changes: 22 additions & 0 deletions wxc/src/include/hyperlinkctrl.h
Original file line number Diff line number Diff line change
@@ -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);




18 changes: 18 additions & 0 deletions wxc/src/include/pickerctrl.h
Original file line number Diff line number Diff line change
@@ -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);


27 changes: 27 additions & 0 deletions wxc/src/include/stream.h
Original file line number Diff line number Diff line change
@@ -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 */
3 changes: 3 additions & 0 deletions wxc/src/include/wxc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"

/*-----------------------------------------------------------------------------
Expand Down
9 changes: 9 additions & 0 deletions wxc/wxc.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
36 changes: 36 additions & 0 deletions wxcore/src/haskell/Graphics/UI/WXCore/WxcDefs.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit c40c9e8

Please sign in to comment.