Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			86 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        canvas.h
 | 
						|
// Purpose:     wxShapeCanvas
 | 
						|
// Author:      Julian Smart
 | 
						|
// Modified by:
 | 
						|
// Created:     12/07/98
 | 
						|
// RCS-ID:      $Id: canvas.h 35650 2005-09-23 12:56:45Z MR $
 | 
						|
// Copyright:   (c) Julian Smart
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _OGL_CANVAS_H_
 | 
						|
#define _OGL_CANVAS_H_
 | 
						|
 | 
						|
 | 
						|
// Drag states
 | 
						|
#define NoDragging             0
 | 
						|
#define StartDraggingLeft      1
 | 
						|
#define ContinueDraggingLeft   2
 | 
						|
#define StartDraggingRight     3
 | 
						|
#define ContinueDraggingRight  4
 | 
						|
 | 
						|
WXDLLIMPEXP_OGL extern const wxChar* wxShapeCanvasNameStr;
 | 
						|
 | 
						|
// When drag_count reaches 0, process drag message
 | 
						|
 | 
						|
class WXDLLIMPEXP_OGL wxDiagram;
 | 
						|
 | 
						|
class WXDLLIMPEXP_OGL wxShapeCanvas: public wxScrolledWindow
 | 
						|
{
 | 
						|
 DECLARE_DYNAMIC_CLASS(wxShapeCanvas)
 | 
						|
 public:
 | 
						|
  wxShapeCanvas(wxWindow *parent = NULL, wxWindowID id = wxID_ANY,
 | 
						|
                const wxPoint& pos = wxDefaultPosition,
 | 
						|
                const wxSize& size = wxDefaultSize,
 | 
						|
                long style = wxBORDER | wxRETAINED,
 | 
						|
                const wxString& name = wxShapeCanvasNameStr);
 | 
						|
  ~wxShapeCanvas();
 | 
						|
 | 
						|
  inline void SetDiagram(wxDiagram *diag) { m_shapeDiagram = diag; }
 | 
						|
  inline wxDiagram *GetDiagram() const { return m_shapeDiagram; }
 | 
						|
 | 
						|
  virtual void OnLeftClick(double x, double y, int keys = 0);
 | 
						|
  virtual void OnRightClick(double x, double y, int keys = 0);
 | 
						|
 | 
						|
  virtual void OnDragLeft(bool draw, double x, double y, int keys=0); // Erase if draw false
 | 
						|
  virtual void OnBeginDragLeft(double x, double y, int keys=0);
 | 
						|
  virtual void OnEndDragLeft(double x, double y, int keys=0);
 | 
						|
 | 
						|
  virtual void OnDragRight(bool draw, double x, double y, int keys=0); // Erase if draw false
 | 
						|
  virtual void OnBeginDragRight(double x, double y, int keys=0);
 | 
						|
  virtual void OnEndDragRight(double x, double y, int keys=0);
 | 
						|
 | 
						|
  // Find object for mouse click, of given wxClassInfo (NULL for any type).
 | 
						|
  // If notImage is non-NULL, don't find an object that is equal to or a descendant of notImage
 | 
						|
  virtual wxShape *FindShape(double x, double y, int *attachment, wxClassInfo *info = NULL, wxShape *notImage = NULL);
 | 
						|
  wxShape *FindFirstSensitiveShape(double x, double y, int *new_attachment, int op);
 | 
						|
  wxShape *FindFirstSensitiveShape1(wxShape *image, int op);
 | 
						|
 | 
						|
  // Redirect to wxDiagram object
 | 
						|
  virtual void AddShape(wxShape *object, wxShape *addAfter = NULL);
 | 
						|
  virtual void InsertShape(wxShape *object);
 | 
						|
  virtual void RemoveShape(wxShape *object);
 | 
						|
  virtual bool GetQuickEditMode();
 | 
						|
  virtual void Redraw(wxDC& dc);
 | 
						|
  void Snap(double *x, double *y);
 | 
						|
 | 
						|
  // Events
 | 
						|
  void OnPaint(wxPaintEvent& event);
 | 
						|
  void OnMouseEvent(wxMouseEvent& event);
 | 
						|
 | 
						|
 protected:
 | 
						|
  wxDiagram*        m_shapeDiagram;
 | 
						|
  int               m_dragState;
 | 
						|
  double             m_oldDragX, m_oldDragY;     // Previous drag coordinates
 | 
						|
  double             m_firstDragX, m_firstDragY; // INITIAL drag coordinates
 | 
						|
  bool              m_checkTolerance;           // Whether to check drag tolerance
 | 
						|
  wxShape*          m_draggedShape;
 | 
						|
  int               m_draggedAttachment;
 | 
						|
 | 
						|
DECLARE_EVENT_TABLE()
 | 
						|
};
 | 
						|
 | 
						|
#endif
 | 
						|
 // _OGL_CANVAS_H_
 |