Menu

Tree [0e5c52] master /
 History

HTTPS access


File Date Author Commit
 src 2012-03-15 Michael Duelli Michael Duelli [0e5c52] Merge branch 'master' of ssh://duelli@...
 .gitignore 2011-05-04 Michael Duelli Michael Duelli [e405b7] Update ignore file for automatic downloads
 AUTHORS 2011-04-27 Michael Duelli Michael Duelli [161ab8] Initial public release
 CHANGELOG.md 2012-01-02 Michael Duelli Michael Duelli [2fd709] Rename CHANGELOG for Markdown syntax
 COPYING 2011-04-27 Michael Duelli Michael Duelli [161ab8] Initial public release
 README.md 2012-01-02 Michael Duelli Michael Duelli [b03685] Fix for README Markdown syntax highlighting
 build.xml 2011-12-30 Michael Duelli Michael Duelli [a0a3dd] Fix missing ant adaption to Java 7

Read Me

Multi-Layer Visualization Tool (MuLaViTo)

Features

  • Multi-layer graph framework based on JUNG
    • GUI class for a paneled main window (mulavito.gui.Gui)
    • Components for viewing a multi-layer graph (mulavito.gui.components.GraphPanel)
      • (Un)Synchronized view of individual layers
      • Hide or maximize certain layers using an improved GridLayout
      • Auto-rearranging and auto-resizing of multi-layer graph
    • SelectionPanel and QuickSearchBar for searching components
      in the multi-layer graph using regular expressions (e.g. V[1-5])
  • Run any algorithm derived from mulavito.algorithms.IAlgorithm in a separate
    Java thread and show status information using ProgressBarDialog and
    an arbitrary number of AbstractAlgorithmStatus
  • FloatablePanel that can be docked/undocked as well as closed, e.g.
    • ConsolePanel to intercept stdout/stderr
    • LayerDataPanel for displaying graph degree data
  • LocatableFileChooser remembering last path with different categories
  • Scalable vector graphics (SVG) export of any layer (mulavito.utils.SVGExporter)
  • Basis for content-aware pop-up menus
  • Graph algorithms
    • Disjoint paths (mulavito.algorithms.shortestpath.disjoint)
      • Suurballe-Turjan
    • k-shortest paths (mulavito.algorithms.shortestpath.ksp)
      • Eppstein
      • Yen
  • Graph generators (mulavito.graph.generators)
    • Random
    • Fully-meshed
    • Waxman
    • Wrapper to ensure reachability
  • Basic random number stream generators for (mulavito.utils.distributions)
    • Uniform
    • Negative-exponential / Poisson
    • Deterministic
  • Resource accessor for using embedded icons of the Tango project
    or icons outside of MuLaViTo in derived projects
  • Class scanner utils (mulavito.utils.ClassScanner) for dynamic class loading
  • Basic file filter
  • Demonstrators (mulavito.samples)
  • JUnits
  • Ant-based build scripts with automatic downloads of dependencies

Requirements

Basic Structure

The Java package hierarchy of MuLaViTo is structured as follows:

  • ''AUTHORS'' -- A list of contributors to MuLaViTo and their affiliations
  • ''COPYING'' -- The license information (GPL, LGPL)
  • ''README'' -- This file
  • ''src''
    • ''img''
    • ''mulavito''
      • ''algorithms'' -- basic classes and patterns for algorithms
        • ''shortestpath'' -- disjoint and k-shortest path algorithms
      • ''graph'' -- classes for graph data structure
        • ''generators'' -- Graph generators
      • ''gui'' -- all components and control structures
      • ''samples'' -- GUI demos
      • ''utils'' -- random distributions, class scanner, and everything else
    • ''tests'' -- JUnit tests, usually not exported
  • ''libs'' -- used libraries
  • ''build.xml'' -- ANT that creates JARs for use by end user

Event Reference

Nearly all GUI class designs follow the setter/event handler pattern.
Here is a comprehensive list of events that can be listened to:

  • mulavito.gui.components.GraphPanel
    • PropertyChange "LayerStack": called before the LayerStack property changes
      with NewValue being the LayerStack to be set and OldValue the current loaded
      LayerStack
    • PropertyChange "Viewers": called when LayerViewers get added or removed.
      • after adding: NewValue is the new viewer, OldValue is null
      • before removing: NewValue is null, OldValue is the Viewer being removed.
        Classes having a property binding to a GraphPanel should listen to these events.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.