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