|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
org.apache.batik.swing.gvt.JGVTComponent
org.apache.batik.swing.svg.JSVGComponent
org.apache.batik.swing.JSVGCanvas
fi.helsinki.cs.nero.ui.Map
Käyttöliittymän karttakomponentti. Toteutukseen käytetään Batikin JSVGCanvas-käyttöliittymäkomponenttia. Toteutusta hankaloittaa se, että Batikin tietorakenteiden käsittely täytyy tehdä Batikin omasta säikeestä käsin, kun taas muu sovellus pyörii lähinnä Swingin tapahtumakäsittelijäsäikeessä. Täytyy siis tarvittaessa vaihtaa säikeestä toiseen. SVG-dokumentissa on huone-elementtejä, joiden tila esitetään graafisesti. Huoneille asetetaan CSS-luokka (attribuutti class), jonka jälkeen ulkoasu määritellään erillisessa CSS-tyylitiedostossa. Luokat ovat seuraavat: room tämä on aina kaikilla huoneilla project valitun projektin huone active valittu huone filtered hakuehtojen mukainen occupied varattu partfree osittain vapaa free vapaa noposts ei sisällä yhtään työpistettä
Nested Class Summary | |
private class |
Map.FloorClickHandler
Kuuntelija, jonka koodi suoritetaan kerroksenvaihtonappeja klikattaessa. |
private class |
Map.RoomClickHandler
Kuuntelija, jonka koodi suoritetaan kartan elementtejä klikattaessa. |
private class |
Map.SVGLoadListener
Kuuntelija, jonka koodi suoritetaan, kun SVG-dokumentin lataus on valmis. |
private class |
Map.WindowOpenListener
Kuuntelija, jonka koodi suoritetaan, kun Swingin pääikkuna (JFrame) on avattu. |
Nested classes inherited from class org.apache.batik.swing.JSVGCanvas |
org.apache.batik.swing.JSVGCanvas.AffineAction, org.apache.batik.swing.JSVGCanvas.CanvasSVGListener, org.apache.batik.swing.JSVGCanvas.CanvasUserAgent, org.apache.batik.swing.JSVGCanvas.LocationListener, org.apache.batik.swing.JSVGCanvas.ResetTransformAction, org.apache.batik.swing.JSVGCanvas.RotateAction, org.apache.batik.swing.JSVGCanvas.ScrollAction, org.apache.batik.swing.JSVGCanvas.ScrollDownAction, org.apache.batik.swing.JSVGCanvas.ScrollLeftAction, org.apache.batik.swing.JSVGCanvas.ScrollRightAction, org.apache.batik.swing.JSVGCanvas.ScrollUpAction, org.apache.batik.swing.JSVGCanvas.ToolTipModifier, org.apache.batik.swing.JSVGCanvas.ZoomAction, org.apache.batik.swing.JSVGCanvas.ZoomInAction, org.apache.batik.swing.JSVGCanvas.ZoomOutAction |
Nested classes inherited from class org.apache.batik.swing.svg.JSVGComponent |
org.apache.batik.swing.svg.JSVGComponent.BridgeUserAgent, org.apache.batik.swing.svg.JSVGComponent.BridgeUserAgentWrapper, org.apache.batik.swing.svg.JSVGComponent.JSVGComponentListener, org.apache.batik.swing.svg.JSVGComponent.SVGListener |
Nested classes inherited from class org.apache.batik.swing.gvt.JGVTComponent |
org.apache.batik.swing.gvt.JGVTComponent.Listener |
Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
Nested classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
Nested classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
private char |
activeFloor
Valitun kerroksen id. |
private org.w3c.dom.Element |
activeRoom
Valittua huonetta vastaava SVG-dokumentin elementti. |
private static java.lang.String |
BUTTON_CLASS
Kartta-SVG:n kerrosnappien class-attribuutti. |
private static java.lang.String |
BUTTON_PREFIX
Kartta-SVG:n kerrosnappien id:iden alkuosa. |
private static java.lang.String |
BUTTONS_ID
Kartta-SVG:n nappien ryhmän id. |
private org.w3c.dom.svg.SVGDocument |
document
Ladattu kartta SVG-dokumenttina. |
private static java.lang.String |
FLOOR_PREFIX
Kartta-SVG:n kerrosten id:iden alkuosa. |
private static java.lang.String |
FLOORS
Kartan kerrosten tunnukset. |
private static java.lang.String |
FLOORS_ID
Kartta-SVG:n kerrosten ryhmän id. |
private java.util.Collection |
projectRooms
Projektin huone-elementtejä säilyttävä kokoelma. |
private static int |
ROOMLABEL_OFFSET_X
Huoneen nimitekstin vasemman reunan etäisyys huoneen vasemmasta reunasta. |
private static int |
ROOMLABEL_OFFSET_Y
Huoneen nimitekstin alareunan etäisyys huoneen yläreunasta. |
private java.util.Map |
roomsByNumber
Hajautusrakenne, joka tallettaa kaikki järjestelmän tuntemat huoneet. |
private Session |
session
Sovelluslogiikan sessio. |
private static java.lang.String |
SVGFILE
Tiedosto, joka sisältää karttapohjan SVG-muodossa. |
private java.lang.String |
svgNS
SVG:n XML-nimiavaruuden määrittävä URI. |
Fields inherited from class org.apache.batik.swing.JSVGCanvas |
FAST_SCROLL_DOWN_ACTION, FAST_SCROLL_LEFT_ACTION, FAST_SCROLL_RIGHT_ACTION, FAST_SCROLL_UP_ACTION, imageZoomInteractor, locationListener, panInteractor, pcs, RESET_TRANSFORM_ACTION, resetTransformInteractor, rotateInteractor, SCROLL_DOWN_ACTION, SCROLL_LEFT_ACTION, SCROLL_RIGHT_ACTION, SCROLL_UP_ACTION, uri, ZOOM_IN_ACTION, ZOOM_OUT_ACTION, zoomInteractor |
Fields inherited from class org.apache.batik.swing.svg.JSVGComponent |
afterStopRunnable, ALWAYS_DYNAMIC, ALWAYS_INTERACTIVE, ALWAYS_STATIC, AUTODETECT, bridgeContext, documentLoader, documentState, FEATURES, fragmentIdentifier, gvtTreeBuilder, gvtTreeBuilderListeners, isDynamicDocument, isInteractiveDocument, jsvgComponentListener, linkActivationListeners, loader, nextDocumentLoader, nextGVTTreeBuilder, nextUpdateManager, prevComponentSize, recenterOnResize, svgDocument, svgDocumentLoaderListeners, svgLoadEventDispatcher, svgLoadEventDispatcherListeners, svgUserAgent, updateManager, updateManagerListeners, updateOverlay, userAgent |
Fields inherited from class org.apache.batik.swing.gvt.JGVTComponent |
disableInteractions, doubleBufferedRendering, eventDispatcher, eventsEnabled, gvtRoot, gvtTreeRenderer, gvtTreeRendererListeners, image, initialTransform, interactor, interactors, jgvtListeners, listener, needRender, overlays, paintingTransform, progressivePaint, progressivePaintThread, renderer, rendererFactory, renderingTransform, selectableText, suspendInteractions, textSelectionManager |
Fields inherited from class javax.swing.JComponent |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Container |
|
Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
Map(Session session,
javax.swing.JFrame frame)
Konstruktori, joka luo karttakomponentin. |
Method Summary | |
private void |
addClass(org.w3c.dom.Element el,
java.lang.String newclass)
Apumetodi SVG-dokumentin elementin class-attribuutin päivittämiseksi. |
private void |
clearRoomStatus()
Palauttaa kaikkien kartalla näkyvien huoneiden tilan alkutilaan eli poistaa kaikki korostukset. |
private void |
removeClass(org.w3c.dom.Element el,
java.lang.String cl)
Apumetodi SVG-dokumentin elementin class-attribuutin päivittämiseksi. |
private void |
setActiveFloor(char floorID)
Asettaa aktiivisen kerroksen. |
private void |
setActiveRoom(Room room)
Asettaa aktiivisen huoneen sovelluslogiikalle. |
private void |
showRoomNumbers()
Piirtää kaikkien huoneiden numerot kartalle. |
private void |
updateActiveRoom(Room room,
boolean changeFloor)
Merkkaa aktiivisen huoneen kartalle. |
private void |
updateFilteredRooms(Room[] rooms,
int[] roomStatuses)
Merkkaa hakuehtojen mukaiset huoneet kartalle. |
void |
updateObserved(int type)
Kutsutaan sen kertomiseksi, ett? kuunneltava tieto on muuttunut. |
private void |
updateProjectRooms(Room[] rooms)
Merkkaa projektin huoneet kartalle. |
Methods inherited from class org.apache.batik.swing.JSVGCanvas |
addPropertyChangeListener, addPropertyChangeListener, createListener, createUserAgent, getEnableImageZoomInteractor, getEnablePanInteractor, getEnableResetTransformInteractor, getEnableRotateInteractor, getEnableZoomInteractor, getURI, installActions, installKeyboardActions, removePropertyChangeListener, removePropertyChangeListener, setDisableInteractions, setEnableImageZoomInteractor, setEnablePanInteractor, setEnableResetTransformInteractor, setEnableRotateInteractor, setEnableZoomInteractor, setURI |
Methods inherited from class org.apache.batik.swing.svg.JSVGComponent |
addGVTTreeBuilderListener, addLinkActivationListener, addSVGDocumentLoaderListener, addSVGLoadEventDispatcherListener, addUpdateManagerListener, calculateViewingTransform, computeRenderingTransform, createBridgeContext, createImageRenderer, dispose, flushImageCache, getCanvasGraphicsNode, getCanvasGraphicsNode, getFragmentIdentifier, getRecenterOnResize, getSVGDocument, getSVGDocumentSize, getUpdateManager, getViewBoxTransform, handleException, installSVGDocument, isDynamic, isInteractive, loadSVGDocument, removeGVTTreeBuilderListener, removeLinkActivationListener, removeSVGDocumentLoaderListener, removeSVGLoadEventDispatcherListener, removeUpdateManagerListener, renderGVTTree, resumeProcessing, setDocument, setDocumentState, setFragmentIdentifier, setGraphicsNode, setMySize, setRecenterOnResize, setSVGDocument, showAlert, showConfirm, showPrompt, showPrompt, startSVGLoadEventDispatcher, stopProcessing, stopThenRun, suspendProcessing, updateRenderingTransform |
Methods inherited from class org.apache.batik.swing.gvt.JGVTComponent |
addGVTTreeRendererListener, addJGVTComponentListener, deselectAll, flush, flush, getDisableInteractions, getDoubleBufferedRendering, getGraphicsNode, getInitialTransform, getInteractors, getOffScreen, getOverlays, getPaintingTransform, getProgressivePaint, getRenderingTransform, getRenderRect, getSelectionOverlayColor, getSelectionOverlayStrokeColor, immediateRepaint, initializeEventHandling, isSelectionOverlayXORMode, paintComponent, releaseRenderingReferences, removeGVTTreeRendererListener, removeJGVTComponentListener, resetRenderingTransform, scheduleGVTRendering, select, setDoubleBufferedRendering, setGraphicsNode, setPaintingTransform, setProgressivePaint, setRenderingTransform, setRenderingTransform, setSelectionOverlayColor, setSelectionOverlayStrokeColor, setSelectionOverlayXORMode |
Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private static final java.lang.String SVGFILE
private static final java.lang.String FLOORS
private static final java.lang.String BUTTONS_ID
private static final java.lang.String BUTTON_PREFIX
private static final java.lang.String BUTTON_CLASS
private static final java.lang.String FLOOR_PREFIX
private static final java.lang.String FLOORS_ID
private static final int ROOMLABEL_OFFSET_X
private static final int ROOMLABEL_OFFSET_Y
private org.w3c.dom.svg.SVGDocument document
private Session session
private java.util.Map roomsByNumber
private java.lang.String svgNS
private org.w3c.dom.Element activeRoom
private char activeFloor
private java.util.Collection projectRooms
Constructor Detail |
public Map(Session session, javax.swing.JFrame frame)
session
- sovelluslogiikan sessioframe
- Swingin pääikkunaMethod Detail |
public void updateObserved(int type)
NeroObserver
updateObserved
in interface NeroObserver
type
- muuttuneen tiedon tyyppiprivate void addClass(org.w3c.dom.Element el, java.lang.String newclass)
el
- elementti jonka class-attribuuttia muokataannewclass
- lisättävä class-arvoprivate void removeClass(org.w3c.dom.Element el, java.lang.String cl)
el
- elementti jonka class-attribuuttia muokataanprivate void clearRoomStatus()
private void updateActiveRoom(Room room, boolean changeFloor)
room
- uusi aktiivinen huonechangeFloor
- vaihdetaanko myös kerrostaprivate void updateProjectRooms(Room[] rooms)
private void updateFilteredRooms(Room[] rooms, int[] roomStatuses)
private void setActiveFloor(char floorID)
floorID
- kerroksen id 1-merkkisenä merkkijononaprivate void setActiveRoom(Room room)
room
- huoneprivate void showRoomNumbers()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |