Package com.cburch.logisim.gui.appear

Source Code of com.cburch.logisim.gui.appear.AppearanceView

/* Copyright (c) 2010, Carl Burch. License information is located in the
* com.cburch.logisim.Main source code and at www.cburch.com/logisim/. */

package com.cburch.logisim.gui.appear;

import com.cburch.draw.canvas.Canvas;
import com.cburch.draw.gui.AttrTableDrawManager;
import com.cburch.draw.toolbar.ToolbarModel;
import com.cburch.draw.tools.DrawingAttributeSet;
import com.cburch.draw.tools.SelectTool;
import com.cburch.logisim.circuit.CircuitState;
import com.cburch.logisim.data.AttributeSet;
import com.cburch.logisim.gui.generic.AttrTable;
import com.cburch.logisim.gui.generic.BasicZoomModel;
import com.cburch.logisim.gui.generic.CanvasPane;
import com.cburch.logisim.gui.generic.ZoomModel;
import com.cburch.logisim.gui.main.EditHandler;
import com.cburch.logisim.prefs.AppPreferences;
import com.cburch.logisim.proj.Project;

public class AppearanceView {
    private static final double[] ZOOM_OPTIONS = { 100, 150, 200, 300, 400, 600, 800 };

    private DrawingAttributeSet attrs;
    private AppearanceCanvas canvas;
    private CanvasPane canvasPane;
    private AppearanceToolbarModel toolbarModel;
    private AttrTableDrawManager attrTableManager;
    private ZoomModel zoomModel;
    private AppearanceEditHandler editHandler;

    public AppearanceView() {
        attrs = new DrawingAttributeSet();
        SelectTool selectTool = new SelectTool();
        canvas = new AppearanceCanvas(selectTool);
        toolbarModel = new AppearanceToolbarModel(selectTool, canvas, attrs);
        zoomModel = new BasicZoomModel(AppPreferences.APPEARANCE_SHOW_GRID,
                AppPreferences.APPEARANCE_ZOOM, ZOOM_OPTIONS);
        canvas.getGridPainter().setZoomModel(zoomModel);
        attrTableManager = null;
        canvasPane = new CanvasPane(canvas);
        canvasPane.setZoomModel(zoomModel);
        editHandler = new AppearanceEditHandler(canvas);
    }

    public Canvas getCanvas() {
        return canvas;
    }

    public CanvasPane getCanvasPane() {
        return canvasPane;
    }

    public ToolbarModel getToolbarModel() {
        return toolbarModel;
    }

    public ZoomModel getZoomModel() {
        return zoomModel;
    }

    public EditHandler getEditHandler() {
        return editHandler;
    }

    public AttributeSet getAttributeSet() {
        return attrs;
    }

    public AttrTableDrawManager getAttrTableDrawManager(AttrTable table) {
        AttrTableDrawManager ret = attrTableManager;
        if (ret == null) {
            ret = new AttrTableDrawManager(canvas, table, attrs);
            attrTableManager = ret;
        }
        return ret;
    }

    public void setCircuit(Project proj, CircuitState circuitState) {
        canvas.setCircuit(proj, circuitState);
    }
}
TOP

Related Classes of com.cburch.logisim.gui.appear.AppearanceView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.