git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			158 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        oglcanvas.i
 | 
						|
// Purpose:     SWIG definitions for the wxWindows Object Graphics Library
 | 
						|
//
 | 
						|
// Author:      Robin Dunn
 | 
						|
//
 | 
						|
// Created:     7-Sept-1999
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) 1998 by Total Control Software
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
%module oglcanvas
 | 
						|
 | 
						|
%{
 | 
						|
#include "helpers.h"
 | 
						|
#include "oglhelpers.h"
 | 
						|
%}
 | 
						|
 | 
						|
//---------------------------------------------------------------------------
 | 
						|
 | 
						|
%include typemaps.i
 | 
						|
%include my_typemaps.i
 | 
						|
 | 
						|
%extern wx.i
 | 
						|
%import windows.i
 | 
						|
%extern _defs.i
 | 
						|
%extern misc.i
 | 
						|
%extern gdi.i
 | 
						|
 | 
						|
%include _ogldefs.i
 | 
						|
 | 
						|
%extern oglbasic.i
 | 
						|
 | 
						|
 | 
						|
%pragma(python) code = "import wx"
 | 
						|
 | 
						|
//---------------------------------------------------------------------------
 | 
						|
//---------------------------------------------------------------------------
 | 
						|
//---------------------------------------------------------------------------
 | 
						|
 | 
						|
class wxDiagram {
 | 
						|
public:
 | 
						|
    wxDiagram();
 | 
						|
    ~wxDiagram();
 | 
						|
 | 
						|
    void AddShape(wxPyShape*shape, wxPyShape *addAfter = NULL);
 | 
						|
    void Clear(wxDC& dc);
 | 
						|
    void DeleteAllShapes();
 | 
						|
    void DrawOutline(wxDC& dc, double x1, double y1, double x2, double y2);
 | 
						|
    wxPyShape* FindShape(long id);
 | 
						|
    wxPyShapeCanvas* GetCanvas();
 | 
						|
    int GetCount();
 | 
						|
    double GetGridSpacing();
 | 
						|
    int GetMouseTolerance();
 | 
						|
 | 
						|
    // wxList* GetShapeList();
 | 
						|
    %addmethods {
 | 
						|
        PyObject* GetShapeList() {
 | 
						|
            wxList* list = self->GetShapeList();
 | 
						|
            return wxPy_ConvertList(list, "wxPyShape");
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    bool GetQuickEditMode();
 | 
						|
    bool GetSnapToGrid();
 | 
						|
    void InsertShape(wxPyShape *shape);
 | 
						|
    bool LoadFile(const wxString& filename);
 | 
						|
 | 
						|
    // **** Have to deal with wxExpr and wxExprDatabase first...
 | 
						|
    //void OnDatabaseLoad(wxExprDatabase& database);
 | 
						|
    //void OnDatabaseSave(wxExprDatabase& database);
 | 
						|
    //bool OnHeaderLoad(wxExprDatabase& database, wxExpr& expr);
 | 
						|
    //bool OnHeaderSave(wxExprDatabase& database, wxExpr& expr);
 | 
						|
    //bool OnShapeLoad(wxExprDatabase& database, wxPyShape& shape, wxExpr& expr);
 | 
						|
    //bool OnShapeSave(wxExprDatabase& database, wxPyShape& shape, wxExpr& expr);
 | 
						|
 | 
						|
 | 
						|
    void ReadContainerGeometry(wxExprDatabase& database);
 | 
						|
    void ReadLines(wxExprDatabase& database);
 | 
						|
    void ReadNodes(wxExprDatabase& database);
 | 
						|
    void RecentreAll(wxDC& dc);
 | 
						|
    void Redraw(wxDC& dc);
 | 
						|
    void RemoveAllShapes();
 | 
						|
    void RemoveShape(wxPyShape* shape);
 | 
						|
    bool SaveFile(const wxString& filename);
 | 
						|
    void SetCanvas(wxPyShapeCanvas* canvas);
 | 
						|
    void SetGridSpacing(double spacing);
 | 
						|
    void SetMouseTolerance(int tolerance);
 | 
						|
    void SetQuickEditMode(bool mode);
 | 
						|
    void SetSnapToGrid(bool snap);
 | 
						|
    void ShowAll(bool show);
 | 
						|
    void Snap(double *OUTPUT, double *OUTPUT);
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
//---------------------------------------------------------------------------
 | 
						|
 | 
						|
%{
 | 
						|
    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragLeft);
 | 
						|
    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragRight);
 | 
						|
    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragLeft);
 | 
						|
    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragRight);
 | 
						|
    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragLeft);
 | 
						|
    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragRight);
 | 
						|
    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnLeftClick);
 | 
						|
    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnRightClick);
 | 
						|
%}
 | 
						|
 | 
						|
 | 
						|
class wxPyShapeCanvas : public wxScrolledWindow {
 | 
						|
public:
 | 
						|
    wxPyShapeCanvas(wxWindow* parent = NULL, wxWindowID id = -1,
 | 
						|
                    const wxPoint& pos = wxPyDefaultPosition,
 | 
						|
                    const wxSize& size = wxPyDefaultSize,
 | 
						|
                    long style = wxBORDER);
 | 
						|
 | 
						|
    void _setSelf(PyObject* self);
 | 
						|
    %pragma(python) addtomethod = "__init__:self._setSelf(self)"
 | 
						|
 | 
						|
    %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)"
 | 
						|
    %pragma(python) addtomethod = "__init__:wx._StdOnScrollCallbacks(self)"
 | 
						|
 | 
						|
    void AddShape(wxPyShape *shape, wxPyShape *addAfter = NULL);
 | 
						|
 | 
						|
    // ****  Need a typemap for wxClassInfo, or implement wxObject, etc.....
 | 
						|
    wxPyShape* FindShape(double x1, double y, int *OUTPUT,
 | 
						|
                       wxClassInfo *info = NULL, wxPyShape* notImage = NULL);
 | 
						|
 | 
						|
    wxPyShape * FindFirstSensitiveShape(double x1, double y, int *OUTPUT, int op);
 | 
						|
    wxDiagram* GetDiagram();
 | 
						|
 | 
						|
    bool GetQuickEditMode();
 | 
						|
    void InsertShape(wxPyShape* shape);
 | 
						|
 | 
						|
 | 
						|
    void base_OnBeginDragLeft(double x, double y, int keys = 0);
 | 
						|
    void base_OnBeginDragRight(double x, double y, int keys = 0);
 | 
						|
    void base_OnEndDragLeft(double x, double y, int keys = 0);
 | 
						|
    void base_OnEndDragRight(double x, double y, int keys = 0);
 | 
						|
    void base_OnDragLeft(bool draw, double x, double y, int keys = 0);
 | 
						|
    void base_OnDragRight(bool draw, double x, double y, int keys = 0);
 | 
						|
    void base_OnLeftClick(double x, double y, int keys = 0);
 | 
						|
    void base_OnRightClick(double x, double y, int keys = 0);
 | 
						|
 | 
						|
    void Redraw(wxDC& dc);
 | 
						|
    void RemoveShape(wxPyShape *shape);
 | 
						|
    void SetDiagram(wxDiagram *diagram);
 | 
						|
    void Snap(double *OUTPUT, double *OUTPUT);
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
//---------------------------------------------------------------------------
 | 
						|
 | 
						|
 |