Beispiel #1
0
void ZoneClassInfoToolTipWindow::handleCursorMovement(int x, int y,
        OovStringRef str)
    {
    if(!mTopWindow)
        {
        mTopWindow = gtk_window_new(GTK_WINDOW_POPUP);
        mLabel = GTK_LABEL(gtk_label_new(nullptr));
        // This doesn't fix the left justify
//      gtk_label_set_justify(mLabel, GTK_JUSTIFY_LEFT);
        gtk_container_add(GTK_CONTAINER(mTopWindow), GTK_WIDGET(mLabel));
        }
    Gui::setText(mLabel, str);
    Gui::setVisible(mTopWindow, true);
    // If the focus isn't grabbed, the drawing area won't get the
    // focus-out event.
    gtk_widget_grab_focus(getDiagramWidget());
    // Position tooltip window relative to the drawing area window.
    // If it clips on the right, then move it left.
    GdkWindow *drawWin = gtk_widget_get_window(getDiagramWidget());
    GdkWindow *tipWin = gtk_widget_get_window(GTK_WIDGET(mTopWindow));
    int winX;
    int winY;
    gdk_window_get_origin(drawWin, &winX, &winY);
    int padHeight = 10;
    x += winX;
    y += winY + padHeight;
    int screenWidth = gdk_screen_get_width(gtk_widget_get_screen(mTopWindow));
    int winWidth = gdk_window_get_width(tipWin);
    if(x+winWidth > screenWidth)
        x = screenWidth - winWidth;
    gdk_window_move(tipWin, x, y);
    }
Beispiel #2
0
bool ZoneDiagramView::drawSvgDiagram(File &file)
    {
    GtkCairoContext cairo(getDiagramWidget());
    SvgDrawer svgDrawer(file, cairo.getCairo());
    mZoneDiagram.drawDiagram(svgDrawer);
    return svgDrawer.writeFile();
    }
Beispiel #3
0
void ClassDiagramView::updateDrawingAreaSize()
    {
    GraphSize size = mClassDiagram.getGraphSize().getZoomed(
        mClassDiagram.getDesiredZoom());
    GtkWidget *widget = getDiagramWidget();
    gtk_widget_set_size_request(widget, size.x, size.y);
    }
Beispiel #4
0
void ZoneDiagramView::drawToDrawingArea()
    {
    GtkCairoContext cairo(getDiagramWidget());
    CairoDrawer cairoDrawer(cairo.getCairo());
    cairoDrawer.clearAndSetDefaults();

    mZoneDiagram.drawDiagram(cairoDrawer);
    updateDrawingAreaSize();
    }
Beispiel #5
0
void ZoneDiagramView::updateDrawingAreaSize()
    {
    GraphSize size = mZoneDiagram.getDrawingSize();
    gtk_widget_set_size_request(getDiagramWidget(), size.x, size.y);
    }
void OperationDiagramView::updateDrawingAreaSize()
    {
    /// @todo - this is not efficient at the moment.
    GraphSize size = mOperationDiagram.getDrawingSize(mNullDrawer);
    gtk_widget_set_size_request(getDiagramWidget(), size.x, size.y);
    }
void IncludeDiagramView::updateDrawingAreaSize()
    {
    GraphSize size = mIncludeDiagram.getDrawingSize(mNullDrawer);
    gtk_widget_set_size_request(getDiagramWidget(), size.x, size.y);
    }