Esempio n. 1
0
hdDrawingView::hdDrawingView(int diagram, wxWindow *ddParent, hdDrawingEditor *editor, wxSize size, hdDrawing *initialDrawing)// gqbController *controller, gqbModel *model)
	: wxScrolledWindow(ddParent, wxID_ANY, wxPoint(0, 0), size,
	                   wxHSCROLL | wxVSCROLL | wxBORDER | wxRETAINED)
{
	diagramIndex = diagram;
	drawing = initialDrawing;
	drawingEditor = editor;
	canvasSize = size;

#if wxCHECK_VERSION(2, 9, 0)
	FitInside();
#else
	SetVirtualSizeHints(canvasSize);
#endif

	// Hack to avoid selection rectangle drawing bug
	drawSelRect = false;
	// Hack to avoid event problem with simpleTextTool wxTextCrtl at EVT_TEXT event
	simpleTextToolEdit = new wxTextCtrl(this, CTL_TEXTTOOLID, wxT(""), wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
	simpleTextToolEdit->Hide();
	simpleTextFigure = NULL;
	menuFigure = NULL;
	okTxtButton = new wxBitmapButton(this, CTL_OKBUTTONID, *check_png_bmp, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
	okTxtButton->Hide();
	cancelTxtButton = new wxBitmapButton(this, 1981, wxBitmap(*ddcancel_png_img), wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
	cancelTxtButton->Hide();
	canvasMenu = NULL;
	_tool = NULL;
	_tool = new hdSelectionTool(this);
}
Esempio n. 2
0
	void CalcSize()
	{
		if (m_sizeInitialized)
			return;
		m_sizeInitialized = true;

		wxSize size = GetClientSize();

		if (!m_icons.empty())
		{
			int icons_per_line = wxMax(1, (size.GetWidth() - BORDER) / (m_iconSize.GetWidth() + BORDER));

			// Number of lines and line height
			int lines = (m_icons.size() - 1) / icons_per_line + 1;
			int vheight = lines * (m_iconSize.GetHeight() + BORDER) + BORDER;
			if (vheight > size.GetHeight())
			{
				// Scroll bar would appear, need to adjust width
				size.SetHeight(vheight);
				SetVirtualSize(size);
				SetVirtualSizeHints(size, size);
				SetScrollRate(0, m_iconSize.GetHeight() + BORDER);

				wxSize size2 = GetClientSize();
				size.SetWidth(size2.GetWidth());

				icons_per_line = wxMax(1, (size.GetWidth() - BORDER) / (m_iconSize.GetWidth() + BORDER));
				lines = (m_icons.size() - 1) / icons_per_line + 1;
				vheight = lines * (m_iconSize.GetHeight() + BORDER) + BORDER;
				if (vheight > size.GetHeight())
					size.SetHeight(vheight);
			}

			// Calculate extra padding
			if (icons_per_line > 1)
			{
				int extra = size.GetWidth() - BORDER - icons_per_line * (m_iconSize.GetWidth() + BORDER);
				m_extra_padding = extra / (icons_per_line - 1);
			}
		}
		SetVirtualSize(size);
		SetVirtualSizeHints(size, size);
		SetScrollRate(0, m_iconSize.GetHeight() + BORDER);
	}
ddDrawingView::ddDrawingView(wxWindow *ddParent, ddDrawingEditor *editor, wxSize size, ddDrawing *initialDrawing)// gqbController *controller, gqbModel *model)
: wxScrolledWindow(ddParent, wxID_ANY, wxPoint(0,0), size,
wxHSCROLL | wxVSCROLL | wxBORDER | wxRETAINED)
{
	drawing=initialDrawing;
	drawingEditor=editor;
	canvasSize=size;
	SetVirtualSizeHints(canvasSize);
	selection =  new ddCollection(new ddArrayCollection());
	//Hack to avoid selection rectangle drawing bug
	drawSelRect = false;
	//Hack to avoid event problem with simpleTextTool wxTextCrtl at EVT_TEXT event
	simpleTextToolEdit = new wxTextCtrl(this,1979,wxT(""),wxDefaultPosition,wxDefaultSize,wxBORDER_NONE);
	simpleTextToolEdit->Hide();
	simpleTextFigure = NULL;
	menuFigure = NULL;
	okTxtButton = new wxBitmapButton(this,1980,wxBitmap(check_xpm),wxDefaultPosition,wxDefaultSize,wxBORDER_NONE);
	okTxtButton->Hide();
	cancelTxtButton = new wxBitmapButton(this,1981,wxBitmap(ddcancel_xpm),wxDefaultPosition,wxDefaultSize,wxBORDER_NONE);
	cancelTxtButton->Hide();
	//popTextUpItems=NULL;
}
Esempio n. 4
0
gqbView::gqbView(wxWindow *gqbParent, ctlAuiNotebook *gridParent, wxSize size, gqbController *controller, gqbModel *model)
	: wxScrolledWindow(gqbParent, wxID_ANY, wxPoint(201, 0), size,
	                   wxHSCROLL | wxVSCROLL | wxBORDER | wxRETAINED)
{
	this->controller = controller;
	this->model = model;
	pressed = -1;
	selected = -1;
	changeTOpressed = false;
	canvasSize = size;
	collectionSelected = NULL;
	joinSelected = NULL;
	joinSource = NULL;
	joinDest = NULL;
	joinSCol = NULL;
	joinDCol = NULL;
	refreshRate = 3;
	iterator = NULL;
	mode = pt_normal;
	joinCursorImage = *gqbJoinCursor_png_img;
	joinCursor = wxCursor(joinCursorImage);
	m_rightJoins = NULL;
	m_rightTables = NULL;
	m_gqbPopup = NULL;
	jTempSelected = NULL;
	cTempSelected = NULL;

	// Assing kind of join Options
	joinTypeChoices.Add(wxString(wxT(" = ")));
	joinTypeChoices.Add(wxString(wxT(" > ")));
	joinTypeChoices.Add(wxString(wxT(" < ")));
	joinTypeChoices.Add(wxString(wxT(" >= ")));
	joinTypeChoices.Add(wxString(wxT(" <= ")));

	// Assign default graphic behavior [skin of forms inside model]
	this->graphBehavior = new gqbGraphSimple();

	// Create Projection Panel
	// GQB-TODO: move model to grid panel constructor
	this->gridTable = new gqbGridProjTable(this->model->getOrderedColumns(), this->model->getColumnsParents(), this->model->getColumnsAlias());
	this->projectionPanel = new gqbGridPanel(controller->getTabs(), -1, gridTable);

	// Create Restrictions Panel
	this->restrictionsGridTable = new gqbGridRestTable(model->getRestrictions());
	this->criteriaPanel = new gqbCriteriaPanel(controller->getTabs(), model, restrictionsGridTable);

	// Create Joins Panel
	this->joinsGridTable = new gqbGridJoinTable(this->controller);
	this->joinsPanel = new gqbJoinsPanel(controller->getTabs(), model, joinsGridTable, controller);

	// Create Order by Panel
	this->orderByLGridTable = new gqbGridOrderTable(1, model->getOrdByAvailColumns(), model->getOrdByAvailParents(), NULL);
	this->orderByRGridTable = new gqbGridOrderTable(2, model->getOrdByColumns(), model->getOrdByParents(), model->getOrdByKind());
	this->orderPanel = new gqbOrderPanel(controller->getTabs(), orderByLGridTable, orderByRGridTable);

#if !wxCHECK_VERSION(2, 9, 0)
	// does nothing in 2.9+
	SetVirtualSizeHints(size);
#endif

}