Ejemplo n.º 1
0
BrowserObjectDiagram::BrowserObjectDiagram(BrowserObjectDiagram * model, BrowserNode * p)
    : BrowserDiagram(p->get_name(), p, 0), window(0), used_settings(0)
{
    def = new SimpleData(model->def);
    def->set_browser_node(this);
    comment = model->comment;
    settings = model->settings;
    note_color = model->note_color;
    fragment_color = model->fragment_color;
    package_color = model->package_color;
    class_instance_color = model->class_instance_color;
    canvas_size = model->canvas_size;
    is_modified = TRUE;

    if (model->window != 0)
        model->window->duplicate(get_ident(), "diagram");
    else {
        char * diagram;

        if ((diagram = read_definition(model->get_ident(), "diagram")) != 0) {
            save_definition(get_ident(), "diagram", diagram, is_new);
            delete [] diagram;
        }
    }
}
Ejemplo n.º 2
0
void DiagramWindow::save(const char * ext, QString & warning,
			 BooL & is_new) const {
  double zm  = canvas->zoom();
  
  if (zm != 1)
    get_view()->set_zoom(1);

  QString diagram_def;
  QTextOStream st(&diagram_def);
  int current_indent = indent();
  
  indent0();
  get_view()->save(st, warning, FALSE);
  save_definition(browser_node->get_ident(), ext, diagram_def, is_new);
  indent(current_indent);
  
  if (zm != 1)
    get_view()->set_zoom(zm);
}
Ejemplo n.º 3
0
void DiagramWindow::duplicate(int dest_id, const char * ext) const {
  QString warning;
  double zm  = canvas->zoom();
  
  if (zm != 1)
    get_view()->set_zoom(1);

  QString diagram_def;
  QTextOStream st(&diagram_def);
  int current_indent = indent();
  BooL is_new = TRUE;
  
  indent0();
  get_view()->save(st, warning, FALSE);
  save_definition(dest_id, ext, diagram_def, is_new);
  indent(current_indent);
  
  if (zm != 1)
    get_view()->set_zoom(zm);
}