这篇教程C++ the_canvas函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中the_canvas函数的典型用法代码示例。如果您正苦于以下问题:C++ the_canvas函数的具体用法?C++ the_canvas怎么用?C++ the_canvas使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了the_canvas函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: force_self_rel_visiblevoid UcClassCanvas::post_loaded() { force_self_rel_visible(); if (the_canvas()->must_draw_all_relations()) { draw_all_depend_gene(); draw_all_simple_relations(); }}
开发者ID:SciBoy,项目名称:douml,代码行数:7,
示例2: dvoid ImageCanvas::open(){ QString s = path; ImageDialog d(s); if ((d.exec() == QDialog::Accepted) && !s.isEmpty() && (s != path)) { QPixmap * p = get_pixmap(s.toLatin1().constData()); if (p != 0) { path = s; width_scale100 = p->width(); height_scale100 = p->height(); px = get_pixmap(path.toLatin1().constData(), the_canvas()->zoom()); hide(); hide_lines(); setRect(rect().x(), rect().y(), px->width(), px->height()); recenter(); show(); update_show_lines(); canvas()->update(); package_modified(); } }}
开发者ID:gilbertoca,项目名称:douml,代码行数:28,
示例3: the_canvasvoid ArrowPointCanvas::delete_it(){ if (lines.isEmpty()) the_canvas()->del(this); else lines.first()->delete_it(); // will apply del on this}
开发者ID:gilbertoca,项目名称:douml,代码行数:7,
示例4: returnaCorner PackageCanvas::on_resize_point(const QPoint & p) { return (ProfiledStereotypes::diagramPixmap(browser_node->get_data()->get_stereotype(), the_canvas()->zoom()) != 0) ? NoCorner : ::on_resize_point(p, rect());}
开发者ID:kralf,项目名称:bouml,代码行数:7,
示例5: collisionsvoid PackageCanvas::prepare_for_move(bool on_resize) { if (! on_resize) { DiagramCanvas::prepare_for_move(on_resize); Q3CanvasItemList l = collisions(TRUE); Q3CanvasItemList::ConstIterator it; Q3CanvasItemList::ConstIterator end = l.end(); DiagramItem * di; BrowserNode * p = get_bn(); for (it = l.begin(); it != end; ++it) { if ((*it)->visible() && // at least not deleted !(*it)->selected() && ((di = QCanvasItemToDiagramItem(*it)) != 0) && di->move_with_its_package()) { BrowserNode * bn = di->get_bn(); do bn = (BrowserNode *) bn->parent(); while (bn->get_type() != UmlPackage); if (bn == p) { the_canvas()->select(*it); di->prepare_for_move(FALSE); } } } }}
开发者ID:kralf,项目名称:bouml,代码行数:29,
示例6: force_self_rel_visiblevoid UcUseCaseCanvas::post_loaded(){ force_self_rel_visible(); if (the_canvas()->must_draw_all_relations()) draw_all_simple_relations();}
开发者ID:harmegnies,项目名称:douml,代码行数:7,
示例7: fromUnicodevoid TextCanvas::open(){ static QSize sz; // warning : 'note' is already unicode QString s = fromUnicode(text); bool created = s.isEmpty(); MLEDialog::get(s, QCursor::pos(), sz); if (s.isEmpty()) delete_it(); else { text = s; if (created) { QFontMetrics fm(the_canvas()->get_font(UmlNormalFont)); QSize sz = fm.size(0, text); DiagramCanvas::resize(sz.width(), sz.height()); } // force son reaffichage hide(); show(); } canvas()->update(); package_modified();}
开发者ID:ErickCastellanos,项目名称:douml,代码行数:31,
示例8: the_canvasvoid ObjectDiagramView::read(char * st, char * k) { UmlCanvas * canvas = the_canvas(); // reads first the instances, package, fragment notes, icons text and image while (OdClassInstCanvas::read(st, canvas, k) || NoteCanvas::read(st, canvas, k) || TextCanvas::read(st, canvas, k) || IconCanvas::read(st, canvas, k) || PackageCanvas::read(st, canvas, k) || FragmentCanvas::read(st, canvas, k) || ImageCanvas::read(st, canvas, k)) k = read_keyword(st); // then reads links while (ObjectLinkCanvas::read(st, canvas, k)) k = read_keyword(st); // then reads anchors while (ArrowCanvas::read(st, canvas, k)) k = read_keyword(st); if (!strcmp(k, "preferred_whz") || !strcmp(k, "prefered_whz")) { preferred_size.setWidth(read_unsigned(st)); preferred_size.setHeight(read_unsigned(st)); preferred_zoom = read_double(st); k = read_keyword(st); } if (strcmp(k, "end")) wrong_keyword(k, "end");}
开发者ID:SciBoy,项目名称:douml,代码行数:31,
示例9: itvoid ArtifactCanvas::update_relations(ArtifactCanvas * other) { // 'this' is a non source, check association with 'other' const Q3PtrDict<BrowserArtifact> * associated = ((ArtifactData *) browser_node->get_data())->get_associated(); bool association_must_exist = ((associated != 0) && (associated->find((BrowserArtifact *) other->browser_node) != 0)); Q3PtrListIterator<ArrowCanvas> it(lines); while (it.current()) { if ((it.current()->type() == UmlContain) && (((AssocContainCanvas *) it.current())->get_end() == other)) { if (! association_must_exist) it.current()->delete_it(); return; } ++it; } // association not yet exist if (association_must_exist) (new AssocContainCanvas(the_canvas(), this, other, 0, -1.0, -1.0)) ->show();}
开发者ID:kralf,项目名称:bouml,代码行数:25,
示例10: moveByvoid LabelCanvas::moveBy(double dx, double dy){ QGraphicsSimpleTextItem::moveBy(dx, dy); if (! the_canvas()->do_zoom()) set_center100();}
开发者ID:javrillon,项目名称:douml,代码行数:7,
示例11: mvoid SubjectCanvas::menu(const QPoint&) { Q3PopupMenu m(0); MenuFactory::createTitle(m, TR("Subject")); m.insertSeparator(); m.insertItem(TR("Upper"), 0); m.insertItem(TR("Lower"), 1); m.insertItem(TR("Go up"), 6); m.insertItem(TR("Go down"), 7); m.insertSeparator(); m.insertItem(TR("Edit"), 2); m.insertSeparator(); m.insertItem(TR("Edit drawing settings"), 3); if (linked()) { m.insertSeparator(); m.insertItem(TR("Select linked items"), 4); } m.insertSeparator(); m.insertItem(TR("Remove from diagram"),5); int index = m.exec(QCursor::pos()); switch (index) { case 0: upper(); modified(); // call package_modified() return; case 1: lower(); modified(); // call package_modified() return; case 6: z_up(); modified(); // call package_modified() return; case 7: z_down(); modified(); // call package_modified() return; case 2: open(); // modified then package_modified already called return; case 3: edit_drawing_settings(); return; case 4: the_canvas()->unselect_all(); select_associated(); return; case 5: delete_it(); break; default: return; } package_modified();}
开发者ID:SciBoy,项目名称:douml,代码行数:59,
示例12: the_canvasvoid CodLinkCanvas::moveBy(double dx, double dy) { if (selected()) the_canvas()->unselect(this); ArrowCanvas::moveBy(dx, dy); if (dirs) dirs->update_pos(beginp, endp);}
开发者ID:kralf,项目名称:bouml,代码行数:8,
示例13: centervoid DiagramCanvas::set_center100(){ QPoint c = center(); double scale = the_canvas()->zoom(); center_x_scale100 = (int)(c.x() / scale + 0.5); center_y_scale100 = (int)(c.y() / scale + 0.5);}
开发者ID:javrillon,项目名称:douml,代码行数:8,
示例14: the_canvasvoid DiagramCanvas::recenter(){ double scale = the_canvas()->zoom(); QPoint c = center(); QGraphicsRectItem::moveBy(center_x_scale100 * scale - c.x(), center_y_scale100 * scale - c.y());}
开发者ID:javrillon,项目名称:douml,代码行数:8,
示例15: the_canvasvoid DeploymentNodeCanvas::check_size() { DeploymentDiagramSettings dflt; dflt.write_horizontally = write_horizontally; the_canvas()->browser_diagram()->get_deploymentdiagramsettings(dflt); horiz = (dflt.write_horizontally == UmlYes); show_properties = (dflt.componentdrawingsettings.show_stereotype_properties == UmlYes); const QPixmap * px = ProfiledStereotypes::diagramPixmap(browser_node->get_data()->get_stereotype(), the_canvas()->zoom()); if (px != 0) { QFontMetrics fm(the_canvas()->get_font(UmlNormalBoldFont)); int w; int h = px->height() + fm.height(); if (horiz) w = fm.width(iname + ":" + browser_node->get_name()); else { w = fm.width(browser_node->get_name()); int iw = fm.width(iname + ":"); if (iw > w) w = iw; h += fm.height() + (int) (3 * the_canvas()->zoom()); } if (w < px->width()) w = px->width(); // force odd width and height for line alignment DiagramCanvas::resize(w | 1, h | 1); } else { int wi = min_width(); int he = min_height(); // warning : do NOT check if ((width() < wi) || (height() < he)) // because te resize must be done to set data on scale change DiagramCanvas::resize((width() < wi) ? wi : width(), (height() < he) ? he : height()); }}
开发者ID:SciBoy,项目名称:douml,代码行数:46,
示例16: the_canvasvoid SdLifeLineCanvas::change_scale(){ double scale = the_canvas()->zoom(); int w = (int)(width_scale100 * scale); // force odd width setSize(((w & 1) == 0) ? w + 1 : w, LIFE_LINE_HEIGHT); // don't move, the position is updated with its obj}
开发者ID:harmegnies,项目名称:douml,代码行数:8,
注:本文中的the_canvas函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ theme函数代码示例 C++ thanx函数代码示例 |