Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release the beta-31 of Mastodon #335

Merged
merged 229 commits into from
Oct 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
229 commits
Select commit Hold shift + click to select a range
8297a25
Move project related class to io sub-package.
tinevez Aug 8, 2023
3dc7622
MamutProjectIO has only static methods now.
tinevez Aug 9, 2023
c94521d
WIP: rework the app model and the project IO.
tinevez Aug 15, 2023
f1fdc9c
Add missing classes from the WIP.
tinevez Aug 16, 2023
169eb9a
Rework project loading / saving.
tinevez Aug 16, 2023
58ffc97
Rename appActions and globalAppActions.
tinevez Aug 16, 2023
d1874a8
Remove unused fields.
tinevez Aug 16, 2023
50d26bc
Remove duplicate fields in WindowManager.
tinevez Aug 16, 2023
b41efdd
Rename MamutAppModel in ProjectModel.
tinevez Aug 17, 2023
4b9a6ce
Fix deprecation of addTimePointListeners()
tinevez Aug 17, 2023
834644e
Fix depracation warnings with some YAML constructors.
tinevez Aug 17, 2023
ea3908d
Remove the use of deprecated BDV classes.
tinevez Aug 17, 2023
d2c7caa
Do not try to load GUI settings when creating new projects.
tinevez Aug 17, 2023
7454148
Fix minor warnings.
tinevez Aug 17, 2023
d095a1c
Add and use convenience methods for opening / creating projects.
tinevez Aug 17, 2023
758dd82
Move the importer package into the io package.
tinevez Aug 17, 2023
b3ed8a7
Store style managers in a common map.
tinevez Aug 17, 2023
226c838
Make an interface for views that have and use a context chooser.
tinevez Aug 17, 2023
73f13f4
Manage views and branch views in a common fields.
tinevez Aug 17, 2023
c737102
Remoe unused import.
tinevez Aug 17, 2023
20b7bfd
Rework a bit the forEeach methods of the window manager.
tinevez Aug 17, 2023
021a961
Remove the now empty settings menu in bdv views.
tinevez Aug 17, 2023
87f5121
Fix the size of the feature color mode panel.
tinevez Aug 17, 2023
d276faa
Move ColorBarOverlay in a more suitable package.
tinevez Aug 18, 2023
a2a4838
Interface for views that some special components.
tinevez Aug 18, 2023
fc960d5
Use the right opn() method when opening a project from the launcher.
tinevez Aug 18, 2023
65a2403
Tentative factory design for mamut views.
tinevez Aug 18, 2023
ff87422
Tentative factory for BDV views.
tinevez Aug 18, 2023
4faf38d
Rework the mother interfaces for Mastodon and Mamut views.
tinevez Aug 18, 2023
7537f36
The mamut view factory uses MamutViewI.
tinevez Aug 18, 2023
e3a1738
A factory for branch bdv views.
tinevez Aug 18, 2023
88fc3c2
Use the common MamutViewI interface in WindowManager.
tinevez Aug 18, 2023
22aedf1
Let MamutBranchViewBdv implements HasColorBarOverlay & HasColoringModel.
tinevez Aug 18, 2023
ea722f6
Factory pattern for trackscheme views.
tinevez Aug 18, 2023
480bdc3
Factory pattern for the table views.
tinevez Aug 18, 2023
48146a9
Use a separate class for selection tables.
tinevez Aug 19, 2023
c0000b9
Factory pattern for grapher views.
tinevez Aug 19, 2023
192174f
Move mamut view classes in the respective views subpackages.
tinevez Aug 19, 2023
9c660be
Use the new view factories everywhere in Mastodon.
tinevez Aug 20, 2023
6003af3
Make the createView() method synchronized.
tinevez Aug 21, 2023
88dafd0
Use a discoverable pattern for style managers and settings page.
tinevez Aug 21, 2023
f114f35
Remove unused class.
tinevez Aug 21, 2023
e1e5b2b
Use a common utility to discover plugins.
tinevez Aug 21, 2023
dd191bc
Remove unused method.
tinevez Aug 21, 2023
2b45a2d
Add TODO.
tinevez Aug 21, 2023
6f22746
Replace KeyMap and associated classes by upstream implementations.
tinevez Aug 21, 2023
071c490
Add some javadoc.
tinevez Aug 21, 2023
b80159b
Recompute min & max timepoint everytime they are queried.
tinevez Aug 22, 2023
c109126
Code style changes.
tinevez Aug 22, 2023
5364271
An intermediate abstract class for style managers with YAML.
tinevez Aug 23, 2023
6db9f93
Use the YAML style manager as mother class for Mastodon style managers.
tinevez Aug 23, 2023
d090c58
Offer facilities to deserialize from YAML with catchable errors.
tinevez Aug 23, 2023
06893eb
Better error messages when we cannot open the project.xml file.
tinevez Aug 24, 2023
b2aed83
The launcher log panel should not be editable.
tinevez Aug 24, 2023
e7ecd3d
Make it possible to recuperate when we cannot find the image data file.
tinevez Aug 24, 2023
266f086
Rework interactive project opening, local or remote.
tinevez Aug 24, 2023
ac491a1
Determine physical units if missing when creating new projects.
tinevez Aug 24, 2023
bbccb23
Ask for a file to save to if one was not set before.
tinevez Aug 24, 2023
02e5672
When creating a view, returns null if the view type is unknown.
tinevez Aug 24, 2023
94e780d
Do not close the project if we failed to save it when converting to BDV.
tinevez Aug 24, 2023
3d00ca6
Close the main window when a project is closed.
tinevez Aug 24, 2023
fecec3d
Do not run saveProjectAs on multiple forking threads.
tinevez Aug 24, 2023
0d573b6
Show the project name on the main window.
tinevez Aug 24, 2023
9ef123f
Some javadoc.
tinevez Aug 24, 2023
832220e
The ProjectModel can return a suitable project name.
tinevez Aug 24, 2023
c2f8cea
The window manager manages a list of extra windows.
tinevez Aug 24, 2023
4a95609
Update all the window names when a project change name.
tinevez Aug 24, 2023
beff479
The interactive LauncherUtils methods should not throw exceptions.
tinevez Aug 25, 2023
a017963
Fix javadoc errors.
tinevez Aug 25, 2023
19a6ba8
Fix javadoc warnings.
tinevez Aug 25, 2023
7f7422f
Remove superficious type in the FocusModel.
tinevez Aug 25, 2023
6ebff35
Save BDV settings when we save a Mastodon file.
tinevez Aug 25, 2023
51a7cb0
Add the colorbar overlay to the trackscheme branch view.
tinevez Aug 25, 2023
1dab542
Make the color bar overlay listenable.
tinevez Aug 25, 2023
e656e6f
Use a dedicated menu class for the colorbar overlay menu.
tinevez Aug 25, 2023
57e5114
When loading a project, build the branch graph.
tinevez Aug 25, 2023
2ca2de8
Have a launcher main class that exits gracefully.
tinevez Aug 25, 2023
d8bea1d
When restoring a BDV view, wait a bit before restoring the transform.
tinevez Aug 25, 2023
72f6408
Less gigantic size for the tag-set editor.
tinevez Aug 27, 2023
7c12c38
FeatureSpecsService must have EXTREMELY_LOW priority.
tinevez Aug 29, 2023
5e623aa
Be more cautious when meeting an error we don't know about.
tinevez Aug 29, 2023
eefcf7a
Merge branch 'rework-app-model' of github.com:mastodon-sc/mastodon in…
tinevez Aug 30, 2023
abb28c5
Add description for the online doc action.
tinevez Aug 30, 2023
b8ee2db
Fix keystroke context for ShowSelectedTracksActions.
tinevez Aug 30, 2023
d950e6b
In the preferences dialog, make a sub-category for core settings page.
tinevez Aug 30, 2023
0d4dc73
Add a method to handle legacy config files for styles.
tinevez Aug 30, 2023
49ec370
Add commonly useful lazy features.
tinevez Sep 8, 2023
dca0534
Make sure the projections() method of feature is called only once,
tinevez Sep 8, 2023
cc13836
Update parent to pom-scijava v37.0.0
tinevez Oct 14, 2023
869f60a
Depend on beta-25 for mastodon-collection and mastodon-graph.
tinevez Oct 14, 2023
cee3b9a
Depend on bdv-core v10.4.8
tinevez Oct 14, 2023
d255a60
Remove opening of remote datasets (S3) for now.
tinevez Oct 14, 2023
3b124ee
Fix bogus import of Font from itext.
tinevez Oct 14, 2023
16ae072
Cleanup pom.xml.
tinevez Oct 14, 2023
7c8d261
Make WindowsManager.getViewList( final Class< T > klass ) public
ksugar Oct 13, 2023
42004a1
Don't let a piublic method mofify the state of the window manager.
tinevez Oct 14, 2023
a1962bf
Add n5-universe
ksugar Nov 18, 2023
5a1b680
Merge remote-tracking branch 'upstream/dev' into n5universe
ksugar Nov 25, 2023
885f623
Remove vscode related files from index
ksugar Nov 25, 2023
8b7f218
Merge remote-tracking branch 'upstream/dev' into n5universe
ksugar Jan 12, 2024
05b3905
Remove old ome.zarr test data
ksugar Jan 22, 2024
8aefe30
Add new ome.zarr test data
ksugar Jan 22, 2024
0ad0daf
Update n5-universe version to 1.3.0
ksugar Jan 22, 2024
593f306
Update N5Universe loader
ksugar Jan 22, 2024
91b67ca
Fix imports
ksugar Jan 22, 2024
4c97a5b
Update test dataset xml files
ksugar Jan 22, 2024
54c3d1d
Merge remote-tracking branch 'upstream/dev' into n5universe
ksugar Feb 24, 2024
d9b9c24
Update LICENSE
ksugar Feb 24, 2024
84d9770
Update the version of n5-universe to 1.3.2-SNAPSHOT
ksugar Feb 24, 2024
f96b379
Add an example settings file for S3 stored data
ksugar Feb 24, 2024
b700500
Merge remote-tracking branch 'upstream/dev' into n5universe
ksugar Apr 16, 2024
0b0c274
work in progress
ksugar Apr 18, 2024
f69a9ea
Remove double slashes
ksugar Apr 18, 2024
17ea98a
Minor fixes
ksugar Apr 19, 2024
82448d2
Add new method getFirstSpot to TreeUtils
stefanhahmann Mar 28, 2024
cb30695
Add 2 new methods to TagSetUtils
stefanhahmann Mar 28, 2024
c5a186b
Add Spot ref as parameter to TagSetUtils.getTagLabel() and TreeUtils.…
stefanhahmann May 17, 2024
541be19
Import the 'fix image path' command from mastodon-tomancak.
tinevez May 24, 2024
ef02997
Center the fix image dialog.
tinevez May 24, 2024
b93f8b2
Make TreeUtils.getMinTimepoint() return 0 in case of an empty model.
stefanhahmann Jun 5, 2024
19ea45d
Make it transparent in the docs that TreeUtils.getMaxTimepoint() retu…
stefanhahmann Jun 5, 2024
f426ad0
Add a new unit test that tests, if projects can be loaded and closed …
stefanhahmann Jun 18, 2024
21de512
Allow to run unit tests in headless environments
stefanhahmann Jun 18, 2024
9187ed5
RootsModel: prevent exception that occurs when removing a root node
maarzt Jun 17, 2024
f774392
RootsModel: add unit tests
maarzt Jun 17, 2024
af55e69
Ignore ProjectLoaderTest
stefanhahmann Jun 26, 2024
e1c02d0
Ensure that the project files are only overwritten, when the saving p…
stefanhahmann Jun 7, 2024
425c372
Add new unit test ProjectSaverTest
stefanhahmann Jun 10, 2024
8aa46bb
Don't stop TrackMate import when a spot is missing.
tinevez May 31, 2024
8dfaecd
Add method Spot.isLabelSet()
maarzt Jul 2, 2024
6b91b6e
Example that demonstrates how to listen to spot property changes.
tinevez Jul 17, 2024
7c0e87f
Add jfreesvg to pom.xml as dependency
stefanhahmann May 24, 2024
9214b18
Add new class ExportUtils containing utility methods for exporting JC…
stefanhahmann May 24, 2024
42e8b6b
Add new class ExportViewActions containing actions that can be instal…
stefanhahmann May 24, 2024
40ab034
Add user interactions "Export current view to SVG/PNG" to trackscheme…
stefanhahmann May 24, 2024
cb1a3b9
Add user interactions "Export current view to SVG/PNG" to BDV view
stefanhahmann May 24, 2024
71de20c
Relax constraint on component we can paint with ExportUtils.
tinevez Jul 1, 2024
dfa0c8b
When exporting view to PNG/SVG, do not paint the scroll bars.
tinevez Jul 1, 2024
15222f0
Add the export to SVG/PNG actions to the grapher.
tinevez Jul 1, 2024
f4e7f38
Add separator before export png/svg commands to Grapher View File menu
stefanhahmann Jul 18, 2024
b211ffa
Work in progress
ksugar Jul 30, 2024
deaa6ba
Reinstate the specific create view methods in WindowManager.
tinevez Jul 30, 2024
faae866
Fix bug method checkFeatureProjectionEquality
stefanhahmann Aug 15, 2024
9caa9c5
Add missing import to WindowManager that lead to errors in java doc
stefanhahmann Aug 15, 2024
7d8c13c
Merge remote-tracking branch 'upstream/dev' into n5universe
ksugar Sep 2, 2024
1d3e66d
Use stored credentials if exits
ksugar Sep 3, 2024
ce55d88
Keep FeatureSpecsService updated
ksugar Sep 4, 2024
107b6e3
Update pom.xml
ksugar Sep 4, 2024
5279ec3
Add xml file for n5 in s3
ksugar Sep 10, 2024
17912c2
Implement getNumSetups and update test files
ksugar Sep 10, 2024
ed7c41d
Organize packages to separate mobie-derived modules
ksugar Sep 10, 2024
b723c15
Introduce new method areListenersPaused() to interface SelectionModel
stefanhahmann Sep 12, 2024
b7d3a2e
Update pom-scijava version to 38.0.1
ksugar Sep 14, 2024
2e08416
Implement getMetadata
ksugar Sep 14, 2024
c98c368
Use n5-viewer_fiji as backend
ksugar Sep 18, 2024
54222fa
In FeatureComputerTestUtils add declare feature to model in getFeatur…
stefanhahmann Sep 13, 2024
dcbbe41
Move Project Model related methods to new separate class ProjectModel…
stefanhahmann Sep 13, 2024
c5c5b20
Add test re branch feature after project loading to ProjectLoaderTest
stefanhahmann Sep 13, 2024
1a6965e
Add new test MamutBranchViewTrackSchemeTest
stefanhahmann Sep 13, 2024
33d0f4b
Add a new unit test for the BranchGraphSynchronizer
stefanhahmann Sep 13, 2024
8642393
Let the BranchGraphSynchronizer optimistically assume that the branch…
stefanhahmann Sep 13, 2024
528a321
Add stefanhahmann as contributor in pom.xml
stefanhahmann Sep 18, 2024
44564eb
Increase max space for build in CI to 1.5 gigabytes
stefanhahmann Sep 18, 2024
23134ab
Add a new class GrapherInitializer
stefanhahmann Sep 5, 2024
524fcfd
Initialize UI of MamutViewGrapher using GrapherInitiliazer
stefanhahmann Sep 5, 2024
72dc5fc
Add a new Window that can show a plot of features on the branch graph
stefanhahmann Sep 5, 2024
1fe976c
Rename variables in grapher screen transform handler
stefanhahmann Sep 19, 2024
faeb41e
Introduce parameter minScaleX and minScaleY to InertialScreenTransfor…
stefanhahmann Sep 19, 2024
9eb7c9f
Set smaller min scale values for in MamutBranchViewGrapher so that fu…
stefanhahmann Sep 19, 2024
46613cb
Update pom-scijava to version 38.0.1
stefanhahmann Jul 18, 2024
6674c87
Add javadoc to methods pauseListeners(), resumeListeners() and areLis…
stefanhahmann Sep 24, 2024
f198ff5
Merge pull request #324 from mastodon-sc/seletion-on-branchspots-is-slow
stefanhahmann Sep 24, 2024
92735f3
Getter for the plot button of the side panel.
tinevez Apr 11, 2023
b05f8c8
The projection specs of the position feature is public.
tinevez Apr 11, 2023
622e66f
Make the InertialScreenTransformEventHandler more reusable.
tinevez Sep 4, 2024
5abe83e
Make the DataDisplayOptions generic.
tinevez Sep 4, 2024
9f0a239
Have all the view abide to default size and position consistently.
tinevez Sep 4, 2024
1273662
Try to make the zoom box of the grapher reusable.
tinevez Sep 4, 2024
bf08628
Update pom-scijava version to 37.0.0
ksugar Sep 28, 2024
a09cc7c
Make compatible with both N5 and OME-Zarr
ksugar Sep 28, 2024
75a5b7a
Keep the dependencies updated with the latest version available in Fiji
ksugar Sep 28, 2024
333f12c
Use IJ's current directory for the default directory for saving xml
ksugar Sep 28, 2024
3c700f5
Update dependencies
ksugar Oct 4, 2024
abcc123
Minor fixes
ksugar Oct 4, 2024
c675ce2
Fix issues
ksugar Oct 4, 2024
22381cc
Merge remote-tracking branch 'upstream/dev' into n5universe
ksugar Oct 4, 2024
f2d7cd0
Remove old test data
ksugar Oct 4, 2024
7a16bb2
Make ModelSerializer public
maarzt Oct 8, 2024
fcabb52
Make MamutViewStateXMLSerialization public
maarzt Oct 8, 2024
83f6947
Move import and export plugins to submenus in the main File menu.
tinevez Oct 9, 2024
a558a14
Fix javadoc error.
tinevez Oct 9, 2024
c7db90a
Change the location of the Mastodon Launcher within the Fiji plugin menu
stefanhahmann Oct 9, 2024
4a5a25d
Merge pull request #328 from elephant-track/n5universe
tinevez Oct 10, 2024
a8bd714
Remove duplicated version specs for the N5 universe deps.
tinevez Oct 10, 2024
d88b83e
Minor tweak to the N5 UI.
tinevez Oct 10, 2024
afbbeab
Disable N5UniverseImgLoaderTest for now.
tinevez Oct 10, 2024
afc70cc
Remove the N5UniverseImgLoaderTest entirely.
tinevez Oct 10, 2024
bf899e6
A command finder for a Mastodon window.
tinevez Jun 7, 2024
3230cbd
Debug the command finder using TrackScheme as a first target.
tinevez Jun 7, 2024
2167a8c
Commands can be run from the selection, the filter text or with the b…
tinevez Jun 7, 2024
2a0b04f
Command finder gives the focus to the filter text and closes with esc…
tinevez Jun 7, 2024
3b91dfc
CommandFinder: UP and DOWN keys move to the shortcut list.
tinevez Jun 9, 2024
039a478
Tweak command finder.
tinevez Jun 9, 2024
d922396
Add command finder to TrackScheme-Branch and -Hierarchy view.
tinevez Jun 9, 2024
a724848
Add the command finder to the table, BDV and grapher views.
tinevez Jun 9, 2024
81b26c3
Builder pattern for the command finder.
tinevez Jun 11, 2024
afea64e
Use the new command finder builder into the main views.
tinevez Jun 11, 2024
2d0fb99
Command finder: display common command names on the same row.
tinevez Jun 11, 2024
83c420b
Install the command finder, AFTER all other commands.
tinevez Jun 11, 2024
67915f4
Command finder: Run when the user double-clicks on a row
tinevez Jun 11, 2024
2d97c15
Also register the plugins actions in the command finder.
tinevez Jun 11, 2024
86fa8dc
Add the command finder to the main window.
tinevez Jun 11, 2024
c90d1cd
Add the name of the parent window in the command finder title.
tinevez Jun 11, 2024
ffe4819
Commands are updated in the command finder when they are modified.
tinevez Jun 12, 2024
7e47e7d
Add the command finder command to the list of commands it knows of.
tinevez Jun 12, 2024
61d01fb
Make it possible to register manual description providers in the comm…
tinevez Jun 12, 2024
425d119
Make the getCommandDescriptions method in MaMuT view public.
tinevez Jun 12, 2024
eddfc3e
Declare the new view commands in the command finder.
tinevez Jun 12, 2024
4bfdf9a
Move Export to CSV to File > Export sub menu
stefanhahmann Oct 10, 2024
04e239b
Make an icon list for BVV windows.
tinevez Sep 19, 2024
2ebe8be
Make the restoreFromXmlSetupAssignments() method of SharedBDVData pub…
tinevez Sep 19, 2024
3856e7e
Can register listeners for the spot covariance changes.
tinevez Sep 19, 2024
8bda7be
Fix compile error.
tinevez Sep 20, 2024
429b7af
Fix garbled method name.
tinevez Sep 20, 2024
dedfe4f
Add convenience HasCovariance interface.
tinevez Sep 20, 2024
7e1b249
Make the OverlayNavigation< more general.
tinevez Sep 22, 2024
5ffa8cc
Make bdv state io methods more general.
tinevez Sep 22, 2024
72fdc04
Display the colorbar on BDV.
tinevez Sep 22, 2024
42a50b2
Add descriptions to the export to SVG and PNG commands.
tinevez Oct 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/bin/sh
export DISPLAY=:99
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-build.sh
sh ci-build.sh
55 changes: 49 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.scijava</groupId>
<artifactId>pom-scijava</artifactId>
<version>37.0.0</version>
<version>38.0.1</version>
</parent>

<groupId>org.mastodon</groupId>
Expand Down Expand Up @@ -63,7 +63,7 @@
<groupId>cisd</groupId>
<artifactId>jhdf5</artifactId>
</dependency>

<!-- ImgLib2 dependencies -->
<dependency>
<groupId>org.scijava</groupId>
Expand All @@ -77,7 +77,33 @@
<groupId>net.imglib2</groupId>
<artifactId>imglib2-roi</artifactId>
</dependency>


<!-- N5 dependencies. -->
<dependency>
<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>n5-universe</artifactId>
</dependency>
<dependency>
<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>n5-google-cloud</artifactId>
</dependency>
<dependency>
<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>n5-aws-s3</artifactId>
</dependency>
<dependency>
<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>n5-viewer_fiji</artifactId>
</dependency>
<dependency>
<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>n5-ij</artifactId>
</dependency>
<dependency>
<groupId>org.janelia.saalfeldlab</groupId>
<artifactId>n5-zarr</artifactId>
</dependency>

<!-- Misc dependencies. -->
<dependency>
<groupId>com.opencsv</groupId>
Expand All @@ -86,14 +112,25 @@
<dependency>
<groupId>io.humble</groupId>
<artifactId>humble-video-all</artifactId>
</dependency>
</dependency>
<!-- export of panels to svg -->
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreesvg</artifactId>
</dependency>

<!-- Test dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>uk.org.webcompere</groupId>
<artifactId>system-stubs-junit4</artifactId>
<version>2.1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>sc.fiji</groupId>
<artifactId>TrackMate</artifactId>
Expand All @@ -104,7 +141,6 @@
<artifactId>MaMuT</artifactId>
<scope>test</scope>
</dependency>


</dependencies>

Expand All @@ -116,7 +152,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<argLine>-Xms256m -Xmx1024m</argLine>
<argLine>-Xms256m -Xmx1536m</argLine>
</configuration>
</plugin>
</plugins>
Expand Down Expand Up @@ -202,6 +238,13 @@
<url>https://github.com/xulman</url>
<properties><id>xulman</id></properties>
</contributor>
<contributor>
<name>Stefan Hahmann</name>
<url>https://github.com/stefanhahmann</url>
<properties>
<id>stefanhahmann</id>
</properties>
</contributor>
</contributors>

<repositories>
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/org/mastodon/adapter/SelectionModelAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,10 @@ public void pauseListeners()
{
selection.pauseListeners();
}

@Override
public boolean areListenersPaused()
{
return selection.areListenersPaused();
}
}
3 changes: 3 additions & 0 deletions src/main/java/org/mastodon/app/MastodonIcons.java
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,9 @@ public class MastodonIcons
public static final List< Image > BDV_VIEW_ICON = Arrays
.asList( new Image[] { BDV_ICON_SMALL.getImage(), BDV_ICON_MEDIUM.getImage(), BDV_ICON_LARGE.getImage() } );

public static final List< Image > BVV_VIEW_ICON = Arrays
.asList( new Image[] { BVV_ICON_SMALL.getImage(), BVV_ICON_MEDIUM.getImage(), BVV_ICON_LARGE.getImage() } );

public static final List< Image > TRACKSCHEME_VIEW_ICON =
Arrays.asList( new Image[] { TRACKSCHEME_ICON_SMALL.getImage(), TRACKSCHEME_ICON_MEDIUM.getImage(),
TRACKSCHEME_ICON_LARGE.getImage() } );
Expand Down
42 changes: 36 additions & 6 deletions src/main/java/org/mastodon/mamut/MainWindow.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import static org.mastodon.app.MastodonIcons.TAGS_ICON_MEDIUM;
import static org.mastodon.app.MastodonIcons.TRACKSCHEME_ICON_MEDIUM;
import static org.mastodon.app.ui.ViewMenuBuilder.item;
import static org.mastodon.app.ui.ViewMenuBuilder.menu;
import static org.mastodon.app.ui.ViewMenuBuilder.separator;
import static org.mastodon.mamut.MamutMenuBuilder.fileMenu;

Expand All @@ -61,6 +62,7 @@
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

import org.mastodon.app.MastodonIcons;
Expand All @@ -73,8 +75,11 @@
import org.mastodon.mamut.views.table.MamutViewTableFactory;
import org.mastodon.mamut.views.trackscheme.MamutBranchViewTrackSchemeFactory;
import org.mastodon.mamut.views.trackscheme.MamutViewTrackSchemeFactory;
import org.mastodon.ui.commandfinder.CommandFinder;
import org.mastodon.ui.keymap.KeyConfigContexts;
import org.mastodon.util.RunnableActionPair;
import org.scijava.ui.behaviour.util.Actions;
import org.scijava.ui.behaviour.util.InputActionBindings;

import bdv.ui.keymap.Keymap;
import net.miginfocom.swing.MigLayout;
Expand All @@ -97,7 +102,8 @@ public MainWindow( final ProjectModel appModel )
setLocationByPlatform( true );
setLocationRelativeTo( null );

// Re-register save actions, this time using this frame as parent component.
// Re-register save actions, this time using this frame as parent
// component.
ProjectActions.installAppActions( appModel.getProjectActions(), appModel, this );

// Views:
Expand All @@ -113,7 +119,7 @@ public MainWindow( final ProjectModel appModel )
prepareButton( tableButton, "table", TABLE_ICON_MEDIUM );
buttonsPanel.add( tableButton, "grow" );

final JButton bdvButton = new JButton( new RunnableActionPair( MamutViewBdvFactory.NEW_BDV_VIEW,
final JButton bdvButton = new JButton( new RunnableActionPair( MamutViewBdvFactory.NEW_BDV_VIEW,
() -> projectActionMap.get( MamutViewBdvFactory.NEW_BDV_VIEW ).actionPerformed( null ),
() -> projectActionMap.get( MamutBranchViewBdvFactory.NEW_BRANCH_BDV_VIEW ).actionPerformed( null ) ) );
prepareButton( bdvButton, "bdv", BDV_ICON_MEDIUM );
Expand All @@ -123,9 +129,9 @@ public MainWindow( final ProjectModel appModel )
prepareButton( selectionTableButton, "selection table", TABLE_ICON_MEDIUM );
buttonsPanel.add( selectionTableButton, "grow" );

final JButton trackschemeButton = new JButton( new RunnableActionPair( MamutViewTrackSchemeFactory.NEW_TRACKSCHEME_VIEW,
() -> projectActionMap.get( MamutViewTrackSchemeFactory.NEW_TRACKSCHEME_VIEW ).actionPerformed( null ),
() -> projectActionMap.get( MamutBranchViewTrackSchemeFactory.NEW_BRANCH_TRACKSCHEME_VIEW ).actionPerformed( null ) ) );
final JButton trackschemeButton = new JButton( new RunnableActionPair( MamutViewTrackSchemeFactory.NEW_TRACKSCHEME_VIEW,
() -> projectActionMap.get( MamutViewTrackSchemeFactory.NEW_TRACKSCHEME_VIEW ).actionPerformed( null ),
() -> projectActionMap.get( MamutBranchViewTrackSchemeFactory.NEW_BRANCH_TRACKSCHEME_VIEW ).actionPerformed( null ) ) );
prepareButton( trackschemeButton, "trackscheme", TRACKSCHEME_ICON_MEDIUM );
buttonsPanel.add( trackschemeButton, "grow, wrap" );

Expand Down Expand Up @@ -209,6 +215,25 @@ public void windowClosing( final WindowEvent e )

// Register to when the project model is closed.
appModel.projectClosedListeners().add( () -> dispose() );

// Command finder.
final InputActionBindings keybindings = new InputActionBindings();
SwingUtilities.replaceUIActionMap( content, keybindings.getConcatenatedActionMap() );
SwingUtilities.replaceUIInputMap( content, JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,
keybindings.getConcatenatedInputMap() );
final Actions mwActions = new Actions( keymap.getConfig(), KeyConfigContexts.MASTODON );
mwActions.install( keybindings, "main" );
CommandFinder.build()
.context( appModel.getContext() )
.inputTriggerConfig( appModel.getKeymap().getConfig() )
.descriptionProvider( appModel.getWindowManager().getViewFactories().getCommandDescriptions() )
.keyConfigContext( KeyConfigContexts.MASTODON )
.register( appModel.getModelActions() )
.register( appModel.getProjectActions() )
.register( appModel.getPlugins().getPluginActions() )
.modificationListeners( appModel.getKeymap().updateListeners() )
.parent( this )
.installOn( mwActions );
}

/**
Expand Down Expand Up @@ -320,11 +345,16 @@ public static void addMenus( final ViewMenu menu, final ActionMap actionMap )
item( ProjectActions.SAVE_PROJECT ),
item( ProjectActions.SAVE_PROJECT_AS ),
separator(),
menu( "Import" ),
menu( "Export" ),
separator(),
item( ProjectActions.FIX_DATASET_PATH ),
separator(),
// item( ProjectActions.IMPORT_TGMM ),
// item( ProjectActions.IMPORT_SIMI ),
// item( ProjectActions.IMPORT_MAMUT ),
// item( ProjectActions.EXPORT_MAMUT ),
// separator(),
// separator(),
item( WindowManager.PREFERENCES_DIALOG ),
separator(),
item( WindowManager.OPEN_ONLINE_DOCUMENTATION ) ) );
Expand Down
1 change: 1 addition & 0 deletions src/main/java/org/mastodon/mamut/MamutMenuBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ public class MamutMenuBuilder extends ViewMenuBuilder
menuTexts.put( ProjectActions.LOAD_PROJECT, "Load Project" );
menuTexts.put( ProjectActions.SAVE_PROJECT, "Save Project" );
menuTexts.put( ProjectActions.SAVE_PROJECT_AS, "Save Project As..." );
menuTexts.put( ProjectActions.FIX_DATASET_PATH, "Fix Image Path" );
menuTexts.put( ProjectActions.IMPORT_TGMM, "Import TGMM tracks" );
menuTexts.put( ProjectActions.IMPORT_SIMI, "Import Simi BioCell tracks" );
menuTexts.put( ProjectActions.IMPORT_MAMUT, "Import MaMuT project" );
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/mastodon/mamut/MamutViews.java
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public < T extends MamutViewI > MamutViewFactory< T > getFactory( final Class< T
return ( MamutViewFactory< T > ) factories.get( klass );
}

CommandDescriptionProvider getCommandDescriptions()
public CommandDescriptionProvider getCommandDescriptions()
{
return new CommandDescriptionProvider( KeyConfigScopes.MAMUT, KeyConfigContexts.MASTODON )
{
Expand Down
Loading
Loading