Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
January 2014
- 8 participants
- 108 discussions
r1484 - in trunk/tutti-ui-swing/src/main/assembly: full min
by tchemit@users.forge.codelutin.com 13 Jan '14
by tchemit@users.forge.codelutin.com 13 Jan '14
13 Jan '14
Author: tchemit
Date: 2014-01-13 16:18:31 +0100 (Mon, 13 Jan 2014)
New Revision: 1484
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1484
Log:
fixes #4126: [TECH] Am?\195?\169lioration des logs au d?\195?\169marrage
Modified:
trunk/tutti-ui-swing/src/main/assembly/full/tutti.bat
trunk/tutti-ui-swing/src/main/assembly/full/tutti.sh
trunk/tutti-ui-swing/src/main/assembly/min/launch.bat
trunk/tutti-ui-swing/src/main/assembly/min/launch.sh
Modified: trunk/tutti-ui-swing/src/main/assembly/full/tutti.bat
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/full/tutti.bat 2014-01-12 13:44:33 UTC (rev 1483)
+++ trunk/tutti-ui-swing/src/main/assembly/full/tutti.bat 2014-01-13 15:18:31 UTC (rev 1484)
@@ -8,16 +8,19 @@
set JAVA_COMMAND=%JAVA_HOME%\bin\java
set TUTTI_LOG_FILE=%TUTTI_BASEDIR%\data\tutti-${project.version}.log
-echo "tutti basedir: %TUTTI_BASEDIR%"
-echo "tutti jre home: %JAVA_HOME%"
-echo "tutti log file: %TUTTI_LOG_FILE%"
+echo Allegro Campaign basedir: %TUTTI_BASEDIR%
+echo Allegro Campaign app home: %TUTTI_HOME%
+echo Allegro Campaign jre home: %JAVA_HOME%
+echo Allegro Campaign log file: %TUTTI_LOG_FILE%
:start
-copy tutti\update.bat .
+copy tutti\update.bat .
+echo Searching for updates...
call update.bat
del update.bat
-copy tutti.config tutti
+if exist "tutti.config" copy tutti.config tutti
+echo Allegro Campaign ${project.version} is starting...
call tutti\launch.bat --option tutti.launch.mode full --option tutti.basedir %TUTTI_BASEDIR%
if errorlevel 89 goto deletedb
if errorlevel 88 goto start
Modified: trunk/tutti-ui-swing/src/main/assembly/full/tutti.sh
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/full/tutti.sh 2014-01-12 13:44:33 UTC (rev 1483)
+++ trunk/tutti-ui-swing/src/main/assembly/full/tutti.sh 2014-01-13 15:18:31 UTC (rev 1484)
@@ -8,17 +8,21 @@
cd $TUTTI_BASEDIR
-echo "tutti basedir: $TUTTI_BASEDIR"
-echo "tutti app home: $TUTTI_HOME"
-echo "tutti jre home: $JAVA_HOME"
-echo "tutti log file: $TUTTI_LOG_FILE"
+echo "Allegro Campaign basedir: $TUTTI_BASEDIR"
+echo "Allegro Campaign app home: $TUTTI_HOME"
+echo "Allegro Campaign jre home: $JAVA_HOME"
+echo "Allegro Campaign log file: $TUTTI_LOG_FILE"
while true; do
cp $TUTTI_HOME/update.sh .
+ echo "Searching for updates..."
./update.sh
- rm -fv update.sh
- cp $TUTTI_BASEDIR/tutti.config $TUTTI_HOME
+ rm -f update.sh
+ if [ -f $TUTTI_BASEDIR/tutti.config ]; then
+ cp -rfv $TUTTI_BASEDIR/tutti.config $TUTTI_HOME
+ fi
+ echo "Allegro Campaign ${project.version} is starting..."
./tutti/launch.sh --option tutti.launch.mode full --option tutti.basedir $TUTTI_BASEDIR
exitcode=$?
Modified: trunk/tutti-ui-swing/src/main/assembly/min/launch.bat
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/min/launch.bat 2014-01-12 13:44:33 UTC (rev 1483)
+++ trunk/tutti-ui-swing/src/main/assembly/min/launch.bat 2014-01-13 15:18:31 UTC (rev 1484)
@@ -3,9 +3,8 @@
set OLDDIR=%CD%
cd /d %~dp0%
-echo lauch java
%JAVA_COMMAND% -Xmx1024M -XX:MaxPermSize=128M -Dtutti.log.file=%TUTTI_LOG_FILE% -jar ${project.build.finalName}.${project.packaging} %1 %2 %3 %4 %5 %6 %7 %8 %9
set exitcode=%ERRORLEVEL%
-echo Stop Tutti with exitcode: %exitcode%
+echo Stop Allegro Campaign with exitcode: %exitcode%
cd %OLDDIR%
exit /b %exitcode%
Modified: trunk/tutti-ui-swing/src/main/assembly/min/launch.sh
===================================================================
--- trunk/tutti-ui-swing/src/main/assembly/min/launch.sh 2014-01-12 13:44:33 UTC (rev 1483)
+++ trunk/tutti-ui-swing/src/main/assembly/min/launch.sh 2014-01-13 15:18:31 UTC (rev 1484)
@@ -7,9 +7,9 @@
cd $REP
-echo "java command: $JAVA_COMMAND"
+#echo "java command: $JAVA_COMMAND"
$JAVA_COMMAND $MEMORY $TUTTI_JVM_OPTS -Dtutti.log.file=$TUTTI_LOG_FILE -jar ${project.build.finalName}.${project.packaging} $*
exitcode=$?
-echo "Stop Tutti with exitcode: $exitcode"
+echo "Stop Allegro Campaign with exitcode: $exitcode"
exit $exitcode
1
0
r1483 - trunk/tutti-ui-swing/src/main/filtered-resources
by tchemit@users.forge.codelutin.com 12 Jan '14
by tchemit@users.forge.codelutin.com 12 Jan '14
12 Jan '14
Author: tchemit
Date: 2014-01-12 14:44:33 +0100 (Sun, 12 Jan 2014)
New Revision: 1483
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1483
Log:
fixes #4123: [AIDE] L'aide contextuelle ne fonctionne pas sur certains boutons
Modified:
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-12 13:27:11 UTC (rev 1482)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-12 13:44:33 UTC (rev 1483)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Wed Jan 08 12:42:32 CET 2014
+#Sun Jan 12 14:36:06 CET 2014
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -176,11 +176,15 @@
tutti.editFishingOperation.field.gearLatitude.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearLongitude.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearShootingEnd.help=editFishingOperation.html\#traitFields
+tutti.editFishingOperation.field.gearShootingEndDate.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearShootingEndLatitude.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearShootingEndLongitude.help=editFishingOperation.html\#traitFields
+tutti.editFishingOperation.field.gearShootingEndTime.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearShootingStart.help=editFishingOperation.html\#traitFields
+tutti.editFishingOperation.field.gearShootingStartDate.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearShootingStartLatitude.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearShootingStartLongitude.help=editFishingOperation.html\#traitFields
+tutti.editFishingOperation.field.gearShootingStartTime.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.gearTime.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.location.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.multirigAggregation.help=editFishingOperation.html\#traitFields
1
0
Author: tchemit
Date: 2014-01-12 14:27:11 +0100 (Sun, 12 Jan 2014)
New Revision: 1482
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1482
Log:
updates jaxx to 2.7 version
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-01-10 17:33:46 UTC (rev 1481)
+++ trunk/pom.xml 2014-01-12 13:27:11 UTC (rev 1482)
@@ -124,7 +124,7 @@
<nuitonValidatorVersion>3.0-alpha-1</nuitonValidatorVersion>
<eugenePluginVersion>2.7.2</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.6</jaxxVersion>
+ <jaxxVersion>2.7</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<slf4jVersion>1.7.5</slf4jVersion>
<adagioVersion>3.4.1</adagioVersion>
1
0
10 Jan '14
Author: tchemit
Date: 2014-01-10 18:33:46 +0100 (Fri, 10 Jan 2014)
New Revision: 1481
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1481
Log:
refs #4123: [AIDE] L'aide contextuelle ne fonctionne pas sur certains boutons (utilisation jaxx 2.7 + ajout des liens sur les ?\195?\169diteurs)
Modified:
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiHelpBroker.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-10 17:33:46 UTC (rev 1481)
@@ -185,13 +185,13 @@
tutti.editFishingOperation.field.location.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.multirigAggregation.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.recorderPerson.help=editFishingOperation.html\#traitFields
-tutti.editFishingOperation.field.secondaryVessel.help=
+tutti.editFishingOperation.field.secondaryVessel.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.stationNumber.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.strata.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.subStrata.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.trawlDistance.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.field.vessel.help=editFishingOperation.html\#traitFields
-tutti.editFishingOperation.filterSecondaryVesselType.help=
+tutti.editFishingOperation.filterSecondaryVesselType.help=editFishingOperation.html\#traitFields
tutti.editFishingOperation.help=editFishingOperation.html\#traitFields
tutti.editIndividualObservationBatch.action.createBatch.help=editFishingOperation.html\#captureObservationsIndividuellesActions
tutti.editIndividualObservationBatch.action.exportMultiPost.help=editFishingOperation.html\#captureObservationsIndividuellesActions
@@ -204,7 +204,7 @@
tutti.editMarineLitterBatch.action.importMultiPost.help=editFishingOperation.html\#captureMacroDechetsActions
tutti.editMarineLitterBatch.action.removeBatch.help=editFishingOperation.html\#captureMacroDechetsActions
tutti.editMarineLitterBatch.field.marineLitterTotalWeight.help=editFishingOperation.html\#captureMacroDechetsFields
-tutti.editMarineLitterBatch.help=editMarineLitterBatch.html
+tutti.editMarineLitterBatch.help=editFishingOperation.html\#captureMacroDechetsFields
tutti.editProgram.action.cancelProgram.help=editProgram.html\#actions
tutti.editProgram.action.saveProgram.help=editProgram.html\#actions
tutti.editProgram.field.description.help=editProgram.html\#fields
@@ -316,7 +316,7 @@
tutti.main.menu.action.showHelp.help=menu.html\#menu_aide
tutti.main.menu.action.site.help=menu.html\#menu_aide
tutti.main.menu.action.updateApplication.help=menu.html\#menu_fichier
-tutti.main.menu.action.updateReport.help=
+tutti.main.menu.action.updateReport.help=menu.html\#menu_fichier
tutti.main.menu.action.validateCatches.help=menu.html\#menu_action
tutti.manageTemporaryReferential.action.exportTemporaryGearExample.help=menu.html\#menu_administration_referentiel
tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.help=menu.html\#menu_administration_referentiel
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiHelpBroker.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiHelpBroker.java 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiHelpBroker.java 2014-01-10 17:33:46 UTC (rev 1481)
@@ -111,18 +111,4 @@
return result;
}
- @Override
- public Component getDeppestComponent(Component mouseComponent, MouseEvent event) {
- ComponentTreeNode tree = BuildTreeVisitor.buildTree(mouseComponent);
-
- Point point = event.getPoint();
-
- Component component = GetCompopentAtPointVisitor.get(tree, point);
- if (log.isDebugEnabled()) {
- log.debug("Component at (" + point + "): " + component);
- }
- return component;
- }
-
-
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -86,6 +86,7 @@
#nameField {
text: {model.getName()};
_validatorLabel: {_("tutti.editCruise.field.name")};
+ _help: {"tutti.editCruise.field.name.help"};
}
#surveyPartLabel {
@@ -98,6 +99,7 @@
#surveyPartField {
text: {model.getSurveyPart()};
_validatorLabel: {_("tutti.editCruise.field.surveyPart")};
+ _help: {"tutti.editCruise.field.surveyPart.help"};
}
#departureLocationLabel {
@@ -111,6 +113,7 @@
property: departureLocation;
selectedItem: {model.getDepartureLocation()};
_validatorLabel: {_("tutti.editCruise.field.departureLocation")};
+ _help: {"tutti.editCruise.field.departureLocation.help"};
}
#returnLocationLabel {
@@ -124,6 +127,7 @@
property: returnLocation;
selectedItem: {model.getReturnLocation()};
_validatorLabel: {_("tutti.editCruise.field.returnLocation")};
+ _help: {"tutti.editCruise.field.returnLocation.help"};
}
#programLabel {
@@ -137,6 +141,7 @@
property: program;
selectedItem: {model.getProgram()};
_validatorLabel: {_("tutti.editCruise.field.program")};
+ _help: {"tutti.editCruise.field.program.help"};
}
#beginDateLabel {
@@ -149,6 +154,7 @@
#beginDateField {
date: {model.getBeginDate()};
_validatorLabel: {_("tutti.editCruise.field.beginDate")};
+ _help: {"tutti.editCruise.field.beginDate.help"};
}
#endDateLabel {
@@ -161,6 +167,7 @@
#endDateField {
date: {model.getEndDate()};
_validatorLabel: {_("tutti.editCruise.field.endDate")};
+ _help: {"tutti.editCruise.field.endDate.help"};
}
#multirigNumberLabel {
@@ -176,6 +183,7 @@
useFloat: false;
numberPattern: {INT_1_DIGITS_PATTERN};
_validatorLabel: {_("tutti.editCruise.field.multirigNumber")};
+ _help: {"tutti.editCruise.field.multirigNumber.help"};
}
#filterVesselLabel {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -54,6 +54,7 @@
selectedItem: {model.getProgram()};
enabled: {!programCombobox.isEmpty()};
_validatorLabel: {_("tutti.selectCruise.field.program")};
+ _help: {"tutti.selectCruise.field.program.help"};
}
#editProgramComboBox {
@@ -100,6 +101,7 @@
selectedItem: {model.getCruise()};
enabled: {!cruiseCombobox.isEmpty()};
_validatorLabel: {_("tutti.selectCruise.field.cruise")};
+ _help: {"tutti.selectCruise.field.cruise.help"};
}
#editCruiseComboBox {
@@ -163,6 +165,7 @@
selectedItem: {model.getProtocol()};
enabled: {!protocolCombobox.isEmpty()};
_validatorLabel: {_("tutti.selectCruise.field.protocol")};
+ _help: {"tutti.selectCruise.field.protocol.help"};
}
#newProtocolComboBox {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -103,6 +103,7 @@
text: {model.getStationNumber()};
_validatorLabel: {_("tutti.editFishingOperation.field.stationNumber")};
_selectOnFocus: {true};
+ _help: {"tutti.editFishingOperation.field.stationNumber.help"};
}
#fishingOperationNumberLabel {
@@ -118,6 +119,7 @@
useFloat: false;
numberPattern: {INT_6_DIGITS_PATTERN};
_validatorLabel: {_("tutti.editFishingOperation.field.fishingOperationNumber")};
+ _help: {"tutti.editFishingOperation.field.fishingOperationNumber.help"};
}
#strataLabel {
@@ -131,6 +133,7 @@
property: strata;
selectedItem: {model.getStrata()};
_validatorLabel: {_("tutti.editFishingOperation.field.strata")};
+ _help: {"tutti.editFishingOperation.field.strata.help"};
}
#subStrataLabel {
@@ -144,6 +147,7 @@
property: subStrata;
selectedItem: {model.getSubStrata()};
_validatorLabel: {_("tutti.editFishingOperation.field.subStrata")};
+ _help: {"tutti.editFishingOperation.field.subStrata.help"};
}
#locationLabel {
@@ -157,6 +161,7 @@
property: location;
selectedItem: {model.getLocation()};
_validatorLabel: {_("tutti.editFishingOperation.field.location")};
+ _help: {"tutti.editFishingOperation.field.location.help"};
}
#gearLongitudeLabel {
@@ -218,6 +223,7 @@
#vesselField {
text: {handler.decorateVessel(model.getVessel())};
_strongStyle: true;
+ _help: {"tutti.editFishingOperation.field.vessel.help"};
}
#gearLabel {
@@ -232,6 +238,7 @@
property: gear;
selectedItem: {model.getGear()};
_validatorLabel: {_("tutti.editFishingOperation.field.gear")};
+ _help: {"tutti.editFishingOperation.field.gear.help"};
}
#multirigAggregationLabel {
@@ -244,14 +251,18 @@
#multirigAggregationField {
text: {model.getMultirigAggregation()};
_validatorLabel: {_("tutti.editFishingOperation.field.multirigAggregation")};
+ _help: {"tutti.editFishingOperation.field.multirigAggregation.help"};
}
+#secondaryVesselFilterPane {
+ _help: {"tutti.editFishingOperation.filterSecondaryVesselType.help"};
+}
+
#filterSecondaryVesselLabel {
text: "tutti.editFishingOperation.filterSecondaryVesselType";
_strongStyle: true;
actionIcon: filter;
toolTipText: "tutti.editFishingOperation.filterSecondaryVesselType.tip";
- _help: {"tutti.editFishingOperation.filterSecondaryVesselType.help"};
}
#filterSecondaryVesselAllButton {
@@ -489,21 +500,25 @@
#gearShootingStartDateField {
date: {model.getGearShootingStartDate()};
_validatorLabel: {_("tutti.editFishingOperation.field.gearShootingStartDate")};
+ _help: {"tutti.editFishingOperation.field.gearShootingStartDate.help"};
}
#gearShootingStartTimeField {
property: gearShootingStartTime;
date: {model.getGearShootingStartDate()};
+ _help: {"tutti.editFishingOperation.field.gearShootingStartTime.help"};
}
#gearShootingEndDateField {
date: {model.getGearShootingEndDate()};
_validatorLabel: {_("tutti.editFishingOperation.field.gearShootingEndDate")};
+ _help: {"tutti.editFishingOperation.field.gearShootingEndDate.help"};
}
#gearShootingEndTimeField {
property: gearShootingEndTime;
date: {model.getGearShootingEndDate()};
+ _help: {"tutti.editFishingOperation.field.gearShootingEndTime.help"};
}
#fishingOperationValidPanel {
@@ -519,17 +534,20 @@
text: "tutti.editFishingOperation.field.fishingOperationValid";
selected: {model.getFishingOperationValid() == Boolean.TRUE};
buttonGroup: "fishingOperationValid";
+ _help: {"tutti.editFishingOperation.field.fishingOperationValid.help"};
}
#fishingOperationInvalidRadio {
text: "tutti.editFishingOperation.field.fishingOperationInvalid";
selected: {model.getFishingOperationValid() == Boolean.FALSE};
buttonGroup: "fishingOperationValid";
+ _help: {"tutti.editFishingOperation.field.fishingOperationValid.help"};
}
#fishingOperationResetRadio {
selected: {model.getFishingOperationValid() == null};
buttonGroup: "fishingOperationValid";
+ _help: {"tutti.editFishingOperation.field.fishingOperationValid.help"};
}
#fishingOperationRectiligneCheckBox {
@@ -554,6 +572,7 @@
enabled: {!model.isFishingOperationRectiligne()};
toolTipText: {handler.getTrawlDistanceTooltipText(model.getTrawlDistance())};
_validatorLabel: {_("tutti.editFishingOperation.field.trawlDistance")};
+ _help: {"tutti.editFishingOperation.field.trawlDistance.help"};
}
#durationLabel {
@@ -567,6 +586,7 @@
text: {handler.getDuration(model.getGearShootingStartDate(), model.getGearShootingEndDate())};
enabled: false;
_validatorLabel: {_("tutti.editFishingOperation.field.duration")};
+ _help: {"tutti.editFishingOperation.field.duration.help"};
}
#recorderPersonList {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2014-01-10 17:33:46 UTC (rev 1481)
@@ -233,9 +233,6 @@
<cell>
<JPanel/>
</cell>
- <!--cell>
- <JPanel/>
- </cell-->
<cell>
<JLabel id='gearLatitudeLabel'/>
</cell>
@@ -254,21 +251,6 @@
<cell>
<JLabel id='gearShootingStartLabel'/>
</cell>
- <!--cell rows="2" fill="both">
-
- <JPanel id='quadrant'
- layout="{new GridLayout(2,2,0,0)}"
- background='{Color.GREEN}'>
- <JToggleButton id='quadrant4'
- onActionPerformed='handler.setQuadrantValue(4)'/>
- <JToggleButton id='quadrant1'
- onActionPerformed='handler.setQuadrantValue(1)'/>
- <JToggleButton id='quadrant3'
- onActionPerformed='handler.setQuadrantValue(3)'/>
- <JToggleButton id='quadrant2'
- onActionPerformed='handler.setQuadrantValue(2)'/>
- </JPanel>
- </cell-->
<cell weightx='1'>
<JPanel id='gearShootingStartLatitudePanel'>
<NumberEditor id='gearShootingStartLatitudeDDField'
@@ -304,9 +286,6 @@
<cell>
<JLabel id='gearShootingEndLabel'/>
</cell>
- <!--cell>
- <JPanel/>
- </cell-->
<cell weightx='1'>
<JPanel id='gearShootingEndLatitudePanel'>
<NumberEditor id='gearShootingEndLatitudeDDField'
@@ -344,9 +323,6 @@
<cell>
<JLabel/>
</cell>
- <!--cell>
- <JPanel/>
- </cell-->
<cell>
<JCheckBox id='fishingOperationRectiligneCheckBox'
onItemStateChanged='handler.setBoolean(event, "fishingOperationRectiligne")'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -96,6 +96,7 @@
#catchTotalWeightField {
bean: {model.getCatchTotalComputedOrNotWeight()};
model: {model.getCatchTotalWeight()};
+ _help: {"tutti.editCatchBatch.field.catchTotalWeight.help"};
}
#catchTotalSortedWeightLabel {
@@ -109,6 +110,7 @@
#catchTotalSortedWeightField {
text: {getWeightStringValue(model.getCatchTotalSortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.catchTotalSortedWeight.help"};
}
#tremieCarrouselRow {
@@ -126,6 +128,7 @@
#catchTotalSortedTremisWeightField {
enabled: false;
text: {getWeightStringValue(model.getCatchTotalSortedTremisWeight())};
+ _help: {"tutti.editCatchBatch.field.catchTotalSortedTremisWeight.help"};
}
#catchTotalSortedCarousselWeightLabel {
@@ -139,6 +142,7 @@
#catchTotalSortedCarousselWeightField {
enabled: false;
text: {getWeightStringValue(model.getCatchTotalSortedCarousselWeight())};
+ _help: {"tutti.editCatchBatch.field.catchTotalSortedCarousselWeight.help"};
}
#catchTotalRejectedWeightLabel {
@@ -152,6 +156,7 @@
#catchTotalRejectedWeightField {
bean: {model.getCatchTotalRejectedComputedOrNotWeight()};
model: {model.getCatchTotalRejectedWeight()};
+ _help: {"tutti.editCatchBatch.field.catchTotalRejectedWeight.help"};
}
#catchTotalUnsortedWeightLabel {
@@ -165,6 +170,7 @@
#catchTotalUnsortedWeightField {
text: {getWeightStringValue(model.getCatchTotalUnsortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.catchTotalUnsortedWeight.help"};
}
#speciesTabPanel {
@@ -187,6 +193,7 @@
#speciesTotalWeightField {
text: {getWeightStringValue(model.getSpeciesTotalComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.speciesTotalWeight.help"};
}
#speciesTotalSortedWeightLabel {
@@ -200,6 +207,7 @@
#speciesTotalSortedWeightField {
bean: {model.getSpeciesTotalSortedComputedOrNotWeight()};
model: {model.getSpeciesTotalSortedWeight()};
+ _help: {"tutti.editCatchBatch.field.speciesTotalSortedWeight.help"};
}
#speciesTotalSampleSortedWeightLabel {
@@ -213,6 +221,7 @@
#speciesTotalSampleSortedWeightField {
text: {getWeightStringValue(model.getSpeciesTotalSampleSortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.speciesTotalSampleSortedWeight.help"};
}
#speciesTotalUnsortedWeightLabel {
@@ -226,6 +235,7 @@
#speciesTotalUnsortedWeightField {
text: {getWeightStringValue(model.getSpeciesTotalUnsortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.speciesTotalUnsortedWeight.help"};
}
#benthosTabPanel {
@@ -248,6 +258,7 @@
#benthosTotalWeightField {
text: {getWeightStringValue(model.getBenthosTotalComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.benthosTotalWeight.help"};
}
#benthosTotalSortedWeightLabel {
@@ -261,6 +272,7 @@
#benthosTotalSortedWeightField {
bean: {model.getBenthosTotalSortedComputedOrNotWeight()};
model: {model.getBenthosTotalSortedWeight()};
+ _help: {"tutti.editCatchBatch.field.benthosTotalSortedWeight.help"};
}
#benthosTotalSampleSortedWeightLabel {
@@ -274,6 +286,7 @@
#benthosTotalSampleSortedWeightField {
text: {getWeightStringValue(model.getBenthosTotalSampleSortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.help"};
}
#benthosTotalUnsortedWeightLabel {
@@ -287,6 +300,7 @@
#benthosTotalUnsortedWeightField {
text: {getWeightStringValue(model.getBenthosTotalUnsortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editCatchBatch.field.benthosTotalUnsortedWeight.help"};
}
#marineLitterTabPanel {
@@ -309,6 +323,7 @@
#marineLitterTotalWeightField {
bean: {model.getMarineLitterTotalComputedOrNotWeight()};
model: {model.getMarineLitterTotalWeight()};
+ _help: {"tutti.editCatchBatch.field.marineLitterTotalWeight.help"};
}
#accidentalTabPanel {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -44,6 +44,7 @@
#accidentalSpeciesComboBox {
property: species;
selectedItem: {model.getSpecies()};
+ _help: {"tutti.createAccidentalBatch.field.accidentalSpecies.help"};
}
#accidentalGenderLabel {
@@ -56,6 +57,7 @@
#accidentalGenderComboBox {
property: gender;
selectedItem: {model.getGender()};
+ _help: {"tutti.createAccidentalBatch.field.accidentalGender.help"};
}
#accidentalWeightLabel {
@@ -71,6 +73,7 @@
useFloat: true;
bean: {model};
model: {model.getWeight()};
+ _help: {"tutti.createAccidentalBatch.field.accidentalWeight.help"};
}
#accidentalSizeLabel {
@@ -86,6 +89,7 @@
numberPattern: {DECIMAL3_PATTERN};
bean: {model};
model: {model.getSize()};
+ _help: {"tutti.createAccidentalBatch.field.accidentalSize.help"};
}
#accidentalLengthStepCaracteristicLabel {
@@ -98,6 +102,7 @@
#accidentalLengthStepCaracteristicComboBox {
property: lengthStepCaracteristic;
selectedItem: {model.getLengthStepCaracteristic()};
+ _help: {"tutti.createAccidentalBatch.field.accidentalLengthStepCaracteristic.help"};
}
#accidentalDeadOrAliveLabel {
@@ -110,6 +115,7 @@
#accidentalDeadOrAliveComboBox {
property: deadOrAlive;
selectedItem: {model.getDeadOrAlive()};
+ _help: {"tutti.createAccidentalBatch.field.accidentalDeadOrAlive.help"};
}
#saveAndContinueButton {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -60,6 +60,7 @@
#benthosTotalWeightField {
text: {getWeightStringValue(model.getBenthosTotalComputedWeight())};
_computed: true;
+ _help: {"tutti.editBenthosBatch.field.benthosTotalWeight.help"};
}
#benthosTotalSortedWeightLabel {
@@ -73,6 +74,7 @@
#benthosTotalSortedWeightField {
bean: {model.getBenthosTotalSortedComputedOrNotWeight()};
model: {model.getBenthosTotalSortedWeight()};
+ _help: {"tutti.editBenthosBatch.field.benthosTotalSortedWeight.help"};
}
#benthosTotalSampleSortedWeightLabel {
@@ -86,6 +88,7 @@
#benthosTotalSampleSortedWeightField {
text: {getWeightStringValue(model.getBenthosTotalSampleSortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editBenthosBatch.field.benthosTotalSampleSortedWeight.help"};
}
#benthosTotalUnsortedWeightLabel {
@@ -99,6 +102,7 @@
#benthosTotalUnsortedWeightField {
text: {getWeightStringValue(model.getBenthosTotalUnsortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editBenthosBatch.field.benthosTotalUnsortedWeight.help"};
}
#benthosTotalInertWeightLabel {
@@ -112,6 +116,7 @@
#benthosTotalInertWeightField {
bean: {model.getBenthosTotalInertComputedOrNotWeight()};
model: {model.getBenthosTotalInertWeight()};
+ _help: {"tutti.editBenthosBatch.field.benthosTotalInertWeight.help"};
}
#benthosTotalLivingNotItemizedWeightLabel {
@@ -125,6 +130,7 @@
#benthosTotalLivingNotItemizedWeightField {
bean: {model.getBenthosTotalLivingNotItemizedComputedOrNotWeight()};
model: {model.getBenthosTotalLivingNotItemizedWeight()};
+ _help: {"tutti.editBenthosBatch.field.benthosTotalLivingNotItemizedWeight.help"};
}
#tablePopup {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -48,6 +48,7 @@
property: species;
selectedItem: {model.getSpecies()};
data: {model.getAvailableSpecies()};
+ _help: {"tutti.createBenthosBatch.field.species.help"};
}
#categoryPanel {
@@ -64,6 +65,7 @@
#sampleCategoryComboBox {
property: sampleCategory;
selectedItem: {model.getSampleCategory()};
+ _help: {"tutti.createBenthosBatch.field.sampleCategory.help"};
}
#batchWeightLabel {
@@ -79,6 +81,7 @@
model: {model.getBatchWeight()};
useFloat: true;
bean: {model};
+ _help: {"tutti.createBenthosBatch.field.batchWeight.help"};
}
#batchCountLabel {
@@ -94,6 +97,7 @@
useFloat: false;
numberPattern: {INT_6_DIGITS_PATTERN};
bean: {model};
+ _help: {"tutti.createBenthosBatch.field.batchCount.help"};
}
#categoryLabel {
@@ -111,6 +115,7 @@
selectedItem: {model.getSelectedCategory()};
data: {model.getCategory()};
enabled: {model.getBatchCount() == null};
+ _help: {"tutti.createBenthosBatch.field.categoryField.help"};
}
#sampleWeightLabel {
@@ -124,6 +129,7 @@
#sampleWeightField {
text: {getStringValue(model.getSampleWeight())};
_computed: true;
+ _help: {"tutti.createBenthosBatch.field.sampleWeightField.help"};
}
#table {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -53,6 +53,7 @@
enabled: {!model.isSimpleCountingMode()};
_selectOnFocus: true;
_validatorLabel: {_("tutti.editBenthosFrequencies.field.step")};
+ _help: {"tutti.editBenthosFrequencies.field.step.help"};
}
#totalNumberLabel {
@@ -67,6 +68,7 @@
text: {getStringValue(model.getTotalNumber())};
enabled: false;
_computed: true;
+ _help: {"tutti.editBenthosFrequencies.field.totalNumber.help"};
}
#totalWeightLabel {
@@ -82,6 +84,7 @@
text: {getWeightStringValue(model.getTotalWeight())};
enabled: false;
_computed: true;
+ _help: {"tutti.editBenthosFrequencies.field.totalWeight.help"};
}
#lengthStepCaracteristicLabel {
@@ -97,6 +100,7 @@
selectedItem: {model.getLengthStepCaracteristic()};
enabled: {!model.isSimpleCountingMode()};
_validatorLabel: {_("tutti.editBenthosFrequencies.field.lengthStepCaracteristic")};
+ _help: {"tutti.editBenthosFrequencies.field.lengthStepCaracteristic.help"};
}
#minStepLabel {
@@ -114,6 +118,7 @@
numberPattern: {DECIMAL1_PATTERN};
bean: {model};
_selectOnFocus: true;
+ _help: {"tutti.editBenthosFrequencies.field.minStep.help"};
}
#maxStepLabel {
@@ -131,6 +136,7 @@
numberPattern: {DECIMAL1_PATTERN};
bean: {model};
_selectOnFocus: true;
+ _help: {"tutti.editBenthosFrequencies.field.maxStep.help"};
}
#rafaleStepLabel {
@@ -147,6 +153,7 @@
numberPattern: {DECIMAL1_PATTERN};
enabled: {model.getLengthStepCaracteristic() != null};
_selectOnFocus: true;
+ _help: {"tutti.editBenthosFrequencies.field.rafaleStep.help"};
}
#configurationPanel {
@@ -205,6 +212,7 @@
showReset: true;
numberPattern: {TuttiUI.INT_6_DIGITS_PATTERN};
bean: {model};
+ _help: {"tutti.editBenthosFrequencies.field.simpleCounting.help"};
}
#dataInFrequenciesWarningContainer {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -39,6 +39,7 @@
#categoryComboBox {
selectedItem: {model.getSelectedCategory()};
+ _help: {"tutti.splitBenthosBatch.field.categoryField.help"};
}
#batchWeightLabel {
@@ -53,6 +54,7 @@
editable: false;
enabled: false;
text: {getStringValue(model.getBatchWeight())};
+ _help: {"tutti.splitBenthosBatch.field.batchWeightField.help"};
}
#sampleWeightLabel {
@@ -65,6 +67,7 @@
#sampleWeightField {
_computed: true;
text: {getStringValue(model.getSampleWeight())};
+ _help: {"tutti.splitBenthosBatch.field.sampleWeightField.help"};
}
#table {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -47,6 +47,7 @@
property: species;
selectedItem: {model.getSpecies()};
data: {model.getAvailableSpecies()};
+ _help: {"tutti.createIndividualObservationBatch.field.individualObservationSpecies.help"};
}
#individualObservationCreateFromBatch {
@@ -68,6 +69,7 @@
#individualObservationWeightField {
property: weight;
model: {model.getWeight()};
+ _help: {"tutti.createIndividualObservationBatch.field.individualObservationWeight.help"};
}
#individualObservationSizeLabel {
@@ -80,6 +82,7 @@
#individualObservationSizeField {
property: size;
model: {model.getSize()};
+ _help: {"tutti.createIndividualObservationBatch.field.individualObservationSize.help"};
}
#individualObservationLengthStepCaracteristicLabel {
@@ -92,6 +95,7 @@
#individualObservationLengthStepCaracteristicComboBox {
property: lengthStepCaracteristic;
selectedItem: {model.getLengthStepCaracteristic()};
+ _help: {"tutti.createIndividualObservationBatch.field.individualObservationLengthStepCaracteristic.help"};
}
#addSpeciesButton {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -53,6 +53,7 @@
#marineLitterTotalWeightField {
bean: {model.getMarineLitterTotalComputedOrNotWeight()};
model: {model.getMarineLitterTotalWeight()};
+ _help: {"tutti.editMarineLitterBatch.field.marineLitterTotalWeight.help"};
}
#tablePopup {
@@ -61,7 +62,6 @@
#table {
selectionMode: {ListSelectionModel.SINGLE_SELECTION};
- /*selectionBackground: {null};*/
selectionForeground: {Color.BLACK};
sortable: false;
}
@@ -89,7 +89,6 @@
text: "tutti.editMarineLitterBatch.action.createBatch";
toolTipText: "tutti.editMarineLitterBatch.action.createBatch.tip";
i18nMnemonic: "tutti.editMarineLitterBatch.action.createBatch.mnemonic";
- /*enabled: {model.isCreateBatchEnabled()};*/
_help: {"tutti.editMarineLitterBatch.action.createBatch.help"};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -48,6 +48,7 @@
#marineLitterCategoryComboBox {
property: marineLitterCategory;
selectedItem: {model.getMarineLitterCategory()};
+ _help: {"tutti.createMarineLitterBatch.field.marineLitterCategory.help"};
}
#marineLitterSizeCategoryLabel {
@@ -60,6 +61,7 @@
#marineLitterSizeCategoryComboBox {
property: marineLitterSizeCategory;
selectedItem: {model.getMarineLitterSizeCategory()};
+ _help: {"tutti.createMarineLitterBatch.field.marineLitterSizeCategory.help"};
}
#marineLitterNumberLabel {
@@ -73,6 +75,7 @@
property: number;
model: {model.getNumber()};
numberPattern: {DECIMAL3_PATTERN};
+ _help: {"tutti.createMarineLitterBatch.field.number.help"};
}
#marineLitterWeightLabel {
@@ -86,6 +89,7 @@
#marineLitterWeightField {
property: weight;
model: {model.getWeight()};
+ _help: {"tutti.createMarineLitterBatch.field.weight.help"};
}
#saveAndContinueButton {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -60,6 +60,7 @@
#speciesTotalWeightField {
text: {getWeightStringValue(model.getSpeciesTotalComputedWeight())};
_computed: true;
+ _help: {"tutti.editSpeciesBatch.field.speciesTotalWeight.help"};
}
#speciesTotalSortedWeightLabel {
@@ -73,6 +74,7 @@
#speciesTotalSortedWeightField {
bean: {model.getSpeciesTotalSortedComputedOrNotWeight()};
model: {model.getSpeciesTotalSortedWeight()};
+ _help: {"tutti.editSpeciesBatch.field.speciesTotalSortedWeight.help"};
}
#speciesTotalSampleSortedWeightLabel {
@@ -86,6 +88,7 @@
#speciesTotalSampleSortedWeightField {
text: {getWeightStringValue(model.getSpeciesTotalSampleSortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.help"};
}
#speciesTotalUnsortedWeightLabel {
@@ -99,6 +102,7 @@
#speciesTotalUnsortedWeightField {
text: {getWeightStringValue(model.getSpeciesTotalUnsortedComputedWeight())};
_computed: true;
+ _help: {"tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.help"};
}
#speciesTotalInertWeightLabel {
@@ -112,6 +116,7 @@
#speciesTotalInertWeightField {
bean: {model.getSpeciesTotalInertComputedOrNotWeight()};
model: {model.getSpeciesTotalInertWeight()};
+ _help: {"tutti.editSpeciesBatch.field.speciesTotalInertWeight.help"};
}
#speciesTotalLivingNotItemizedWeightLabel {
@@ -125,6 +130,7 @@
#speciesTotalLivingNotItemizedWeightField {
bean: {model.getSpeciesTotalLivingNotItemizedComputedOrNotWeight()};
model: {model.getSpeciesTotalLivingNotItemizedWeight()};
+ _help: {"tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.help"};
}
#tablePopup {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -48,6 +48,7 @@
property: species;
selectedItem: {model.getSpecies()};
data: {model.getAvailableSpecies()};
+ _help: {"tutti.createSpeciesBatch.field.species.help"};
}
#categoryPanel {
@@ -64,6 +65,7 @@
#sampleCategoryComboBox {
property: sampleCategory;
selectedItem: {model.getSampleCategory()};
+ _help: {"tutti.createSpeciesBatch.field.sampleCategory.help"};
}
#batchWeightLabel {
@@ -79,6 +81,7 @@
model: {model.getBatchWeight()};
useFloat: true;
bean: {model};
+ _help: {"tutti.createSpeciesBatch.field.batchWeight.help"};
}
#batchCountLabel {
@@ -94,6 +97,7 @@
useFloat: false;
numberPattern: {INT_6_DIGITS_PATTERN};
bean: {model};
+ _help: {"tutti.createSpeciesBatch.field.batchCount.help"};
}
#categoryLabel {
@@ -111,6 +115,7 @@
selectedItem: {model.getSelectedCategory()};
data: {model.getCategory()};
enabled: {model.getBatchCount() == null};
+ _help: {"tutti.createSpeciesBatch.field.categoryField.help"};
}
#sampleWeightLabel {
@@ -124,6 +129,7 @@
#sampleWeightField {
_computed: true;
text: {getStringValue(model.getSampleWeight())};
+ _help: {"tutti.createSpeciesBatch.field.sampleWeightField.help"};
}
#table {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -53,6 +53,7 @@
enabled: {!model.isSimpleCountingMode()};
_selectOnFocus: true;
_validatorLabel: {_("tutti.editSpeciesFrequencies.field.step")};
+ _help: {"tutti.editSpeciesFrequencies.field.step.help"};
}
#totalNumberLabel {
@@ -67,6 +68,7 @@
text: {getStringValue(model.getTotalNumber())};
enabled: false;
_computed: true;
+ _help: {"tutti.editSpeciesFrequencies.field.totalNumber.help"};
}
#totalWeightLabel {
@@ -82,6 +84,7 @@
text: {getWeightStringValue(model.getTotalWeight())};
enabled: false;
_computed: true;
+ _help: {"tutti.editSpeciesFrequencies.field.totalWeight.help"};
}
#lengthStepCaracteristicLabel {
@@ -97,6 +100,7 @@
selectedItem: {model.getLengthStepCaracteristic()};
enabled: {!model.isSimpleCountingMode()};
_validatorLabel: {_("tutti.editSpeciesFrequencies.field.lengthStepCaracteristic")};
+ _help: {"tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help"};
}
#minStepLabel {
@@ -114,6 +118,7 @@
numberPattern: {DECIMAL1_PATTERN};
bean: {model};
_selectOnFocus: true;
+ _help: {"tutti.editSpeciesFrequencies.field.minStep.help"};
}
#maxStepLabel {
@@ -131,6 +136,7 @@
numberPattern: {DECIMAL1_PATTERN};
bean: {model};
_selectOnFocus: true;
+ _help: {"tutti.editSpeciesFrequencies.field.maxStep.help"};
}
#rafaleStepLabel {
@@ -147,6 +153,7 @@
numberPattern: {DECIMAL1_PATTERN};
enabled: {model.getLengthStepCaracteristic() != null};
_selectOnFocus: true;
+ _help: {"tutti.editSpeciesFrequencies.field.rafaleStep.help"};
}
#configurationPanel {
@@ -205,6 +212,7 @@
showReset: true;
numberPattern: {TuttiUI.INT_6_DIGITS_PATTERN};
bean: {model};
+ _help: {"tutti.editSpeciesFrequencies.field.simpleCounting.help"};
}
#dataInFrequenciesWarningContainer {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -53,6 +53,7 @@
editable: false;
enabled: false;
text: {getStringValue(model.getBatchWeight())};
+ _help: {"tutti.splitSpeciesBatch.field.batchWeightField.help"};
}
#sampleWeightLabel {
@@ -66,6 +67,7 @@
#sampleWeightField {
_computed: true;
text: {getStringValue(model.getSampleWeight())};
+ _help: {"tutti.splitSpeciesBatch.field.sampleWeightField.help"};
}
#table {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -49,6 +49,7 @@
#nameField {
text: {model.getName()};
_validatorLabel: {_("tutti.editProgram.field.name")};
+ _help: {"tutti.editProgram.field.name.help"};
}
#descriptionPane {
@@ -60,6 +61,7 @@
#descriptionField {
text: {getStringValue(model.getDescription())};
_validatorLabel: {_("tutti.editProgram.field.description")};
+ _help: {"tutti.editProgram.field.description.help"};
}
#zoneLabel {
@@ -73,6 +75,7 @@
property: zone;
selectedItem: {model.getZone()};
_validatorLabel: {_("tutti.editProgram.field.zone")};
+ _help: {"tutti.editProgram.field.zone.help"};
}
#saveButton {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -54,6 +54,7 @@
#nameField {
text: {model.getName()};
_validatorLabel: {_("tutti.editProtocol.field.protocol.name")};
+ _help: {"tutti.editProtocol.field.name.help"};
}
#commentPane {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css 2014-01-08 12:38:08 UTC (rev 1480)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/report/ReportUI.css 2014-01-10 17:33:46 UTC (rev 1481)
@@ -54,6 +54,7 @@
property: report;
selectedItem: {model.getReport()};
_validatorLabel: {_("tutti.report.field.report")};
+ _help: {"tutti.report.field.report.help"};
}
#fishingOperationLabel {
@@ -67,6 +68,7 @@
property: fishingOperation;
selectedItem: {model.getFishingOperation()};
_validatorLabel: {_("tutti.report.field.fishingOperation")};
+ _help: {"tutti.report.field.fishingOperation.help"};
}
#outputFileLabel {
@@ -79,6 +81,7 @@
#outputFileField {
selectedFile: {model.getOutputFile()};
_validatorLabel: {_("tutti.report.field.outputFile")};
+ _help: {"tutti.report.field.outputFile.help"};
}
#showOutputFileButton {
1
0
r1480 - in trunk/tutti-ui-swing/src/main/help: en fr
by tchemit@users.forge.codelutin.com 08 Jan '14
by tchemit@users.forge.codelutin.com 08 Jan '14
08 Jan '14
Author: tchemit
Date: 2014-01-08 13:38:08 +0100 (Wed, 08 Jan 2014)
New Revision: 1480
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1480
Log:
refs #4073: [ERGO] Tri du tableau des esp?\195?\168ces (update doc)
Modified:
trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html
trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
Modified: trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html 2014-01-08 12:34:01 UTC (rev 1479)
+++ trunk/tutti-ui-swing/src/main/help/en/editFishingOperation.html 2014-01-08 12:38:08 UTC (rev 1480)
@@ -440,9 +440,23 @@
l'applicatif propose le nombre de lignes « parents » dans le
tableau.
</dd>
+ <dt>Tri / Saisie</dt>
+ <dd>
+ dans le tableau, on affiche les lots dans l'ordre de saisie.
+ </dd>
+ <dt>Tri / Ascendant</dt>
+ <dd>
+ dans le tableau, on affiche les lots dans l'ordre ascendant sur la colonne espèce.
+ </dd>
+ <dt>Tri / Descendant</dt>
+ <dd>
+ dans le tableau, on affiche les lots dans l'ordre descendant sur la colonne espèce.
+ </dd>
<dt>Espèce</dt>
<dd>
- « Code campagne ou Code Rubin – nom scientifique » du lot
+ « Code campagne ou Code Rubin – nom scientifique » du lot.
+ <br/>
+ Un clic droit sur l'en-tête de la colonne permet de changer la décoration.
</dd>
<dt>V/HV</dt>
<dd>
Modified: trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-08 12:34:01 UTC (rev 1479)
+++ trunk/tutti-ui-swing/src/main/help/fr/editFishingOperation.html 2014-01-08 12:38:08 UTC (rev 1480)
@@ -438,9 +438,23 @@
l'applicatif propose le nombre de lignes « parents » dans le
tableau.
</dd>
+ <dt>Tri / Saisie</dt>
+ <dd>
+ dans le tableau, on affiche les lots dans l'ordre de saisie.
+ </dd>
+ <dt>Tri / Ascendant</dt>
+ <dd>
+ dans le tableau, on affiche les lots dans l'ordre ascendant sur la colonne espèce.
+ </dd>
+ <dt>Tri / Descendant</dt>
+ <dd>
+ dans le tableau, on affiche les lots dans l'ordre descendant sur la colonne espèce.
+ </dd>
<dt>Espèce</dt>
<dd>
- « Code campagne ou Code Rubin – nom scientifique » du lot
+ « Code campagne ou Code Rubin – nom scientifique » du lot.
+ <br/>
+ Un clic droit sur l'en-tête de la colonne permet de changer la décoration.
</dd>
<dt>V/HV</dt>
<dd>
1
0
r1479 - in trunk/tutti-ui-swing/src/main: filtered-resources java/fr/ifremer/tutti/ui/swing/content/operation/catches java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/content/protocol java/fr/ifremer/tutti/ui/swing/util resources/i18n resources/icons
by tchemit@users.forge.codelutin.com 08 Jan '14
by tchemit@users.forge.codelutin.com 08 Jan '14
08 Jan '14
Author: tchemit
Date: 2014-01-08 13:34:01 +0100 (Wed, 08 Jan 2014)
New Revision: 1479
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1479
Log:
fixes #4073: [ERGO] Tri du tableau des esp?\195?\168ces
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRowHelper.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortMode.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortableRowModel.java
trunk/tutti-ui-swing/src/main/resources/icons/action-sort.png
Modified:
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecorator.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecoratorComparator.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2014-01-08 12:34:01 UTC (rev 1479)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Mon Dec 09 15:37:05 CET 2013
+#Wed Jan 08 12:42:32 CET 2014
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -85,6 +85,9 @@
tutti.editBenthosBatch.field.benthosTotalSortedWeight.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosBatch.field.benthosTotalUnsortedWeight.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosBatch.field.benthosTotalWeight.help=editFishingOperation.html\#captureBenthosFields
+tutti.editBenthosBatch.field.speciesSortMode.asc.help=editFishingOperation.html\#captureBenthosFields
+tutti.editBenthosBatch.field.speciesSortMode.desc.help=editFishingOperation.html\#captureBenthosFields
+tutti.editBenthosBatch.field.speciesSortMode.none.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosBatch.field.speciesTotalInertWeight.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosBatch.field.speciesTotalLivingNotItemizedWeight.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosBatch.field.speciesTotalSampleSortedWeight.help=editFishingOperation.html\#captureBenthosFields
@@ -93,6 +96,7 @@
tutti.editBenthosBatch.field.speciesTotalWeight.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosBatch.filterBatch.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosBatch.help=editFishingOperation.html\#captureBenthos
+tutti.editBenthosBatch.sortSpeciesBatch.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosFrequencies.action.addLengthStepCaracteristic.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.action.cancel.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.action.generate.help=editFishingOperation.html\#captureBenthosActions
@@ -252,6 +256,9 @@
tutti.editSpeciesBatch.action.removeSubBatch.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.renameBatch.help=editFishingOperation.html\#captureEspecesActions
tutti.editSpeciesBatch.action.splitBatch.help=editFishingOperation.html\#captureEspecesActions
+tutti.editSpeciesBatch.field.speciesSortMode.asc.help=editFishingOperation.html\#captureEspecesFields
+tutti.editSpeciesBatch.field.speciesSortMode.desc.help=editFishingOperation.html\#captureEspecesFields
+tutti.editSpeciesBatch.field.speciesSortMode.none.help=editFishingOperation.html\#captureEspecesFields
tutti.editSpeciesBatch.field.speciesTotalInertWeight.help=editFishingOperation.html\#captureEspecesFields
tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.help=editFishingOperation.html\#captureEspecesFields
tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.help=editFishingOperation.html\#captureEspecesFields
@@ -260,6 +267,7 @@
tutti.editSpeciesBatch.field.speciesTotalWeight.help=editFishingOperation.html\#captureEspecesFields
tutti.editSpeciesBatch.filterSpeciesBatch.help=editFishingOperation.html\#captureEspecesFields
tutti.editSpeciesBatch.help=editFishingOperation.html\#captureEspeces
+tutti.editSpeciesBatch.sortSpeciesBatch.help=editFishingOperation.html\#captureEspecesFields
tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.help=editFishingOperation.html\#captureEspecesMensurationActions
tutti.editSpeciesFrequencies.action.cancel.help=editFishingOperation.html\#captureEspecesMensurationActions
tutti.editSpeciesFrequencies.action.generate.help=editFishingOperation.html\#captureEspecesMensurationActions
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecorator.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecorator.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecorator.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -27,7 +27,6 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesAbleBatch;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import org.jdesktop.swingx.JXTable;
import static org.nuiton.i18n.I18n._;
@@ -42,17 +41,23 @@
private static final long serialVersionUID = 1L;
- public static <R extends SpeciesAbleBatch> SpeciesBatchDecorator<R> newDecorator(JXTable table) {
- return new SpeciesBatchDecorator<R>(table);
+ public static <R extends SpeciesAbleBatch> SpeciesBatchDecorator<R> newDecorator() {
+ return new SpeciesBatchDecorator<R>();
}
- public SpeciesBatchDecorator(JXTable table) throws IllegalArgumentException, NullPointerException {
+ protected final TuttiDecoratorComparator[] originalComparators;
+
+ public SpeciesBatchDecorator() throws IllegalArgumentException, NullPointerException {
super();
- // use special comparator
- for (Context context : contexts) {
+ int nbContext = getNbContext();
+ originalComparators = new TuttiDecoratorComparator[nbContext];
+
+ for (int i = 0; i < nbContext; i++) {
TuttiDecoratorComparator comparator = (TuttiDecoratorComparator<?>) context.getComparator(0);
- context.setComparator(new SpeciesBatchDecoratorComparator<R>(comparator.getExpression(), table));
+ originalComparators[i] = comparator;
+ Context context = contexts[i];
+ context.setComparator(new SpeciesBatchDecoratorComparator<R>(comparator.getExpression()));
}
}
@@ -84,4 +89,20 @@
}
return result;
}
+
+ public TuttiDecoratorComparator getOriginalComparator() {
+ return originalComparators[contextIndex];
+ }
+
+ protected int contextIndex = 0;
+
+ @Override
+ public void setContextIndex(int index) {
+ super.setContextIndex(index);
+ this.contextIndex = index;
+ }
+
+ public int getContextIndex() {
+ return contextIndex;
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecoratorComparator.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecoratorComparator.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchDecoratorComparator.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -26,10 +26,8 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesAbleBatch;
import fr.ifremer.tutti.service.TuttiDecorator;
-import org.jdesktop.swingx.JXTable;
import org.nuiton.decorator.JXPathDecorator;
-import javax.swing.SortOrder;
import java.util.List;
/**
@@ -44,18 +42,14 @@
*/
public class SpeciesBatchDecoratorComparator<R extends SpeciesAbleBatch> extends TuttiDecorator.TuttiDecoratorComparator<R> {
- static class RowComparatorContext implements Comparable<RowComparatorContext> {
+ class RowComparatorContext implements Comparable<RowComparatorContext> {
private final String speciesText;
private final int rowIndex;
- private final JXTable table;
-
- RowComparatorContext(JXTable table,
- String speciesText,
+ RowComparatorContext(String speciesText,
int rowIndex) {
- this.table = table;
this.speciesText = speciesText;
this.rowIndex = rowIndex;
}
@@ -63,23 +57,11 @@
@Override
public int compareTo(RowComparatorContext o) {
// first compare on speciesText
- int result = speciesText.compareTo(o.speciesText);
+ int result = sortSign * speciesText.compareTo(o.speciesText);
if (result == 0) {
- int sortedColumnIndex = table.getSortedColumnIndex();
- SortOrder sortOrder = table.getSortOrder(sortedColumnIndex);
-
- switch (sortOrder) {
- case UNSORTED:
- case ASCENDING:
-
- // respect natural order
- result = rowIndex - o.rowIndex;
- break;
- case DESCENDING:
- result = o.rowIndex - rowIndex;
- break;
- }
+ // respect natural order
+ result = rowIndex - o.rowIndex;
}
return result;
}
@@ -87,11 +69,21 @@
private static final long serialVersionUID = 1L;
- JXTable table;
+ SpeciesSortMode speciesSortMode;
- public SpeciesBatchDecoratorComparator(String expression, JXTable table) {
+ int sortSign;
+
+ public void setSpeciesSortMode(SpeciesSortMode speciesSortMode) {
+ this.speciesSortMode = speciesSortMode;
+ if (speciesSortMode == SpeciesSortMode.DESC) {
+ sortSign = -1;
+ } else {
+ sortSign = 1;
+ }
+ }
+
+ public SpeciesBatchDecoratorComparator(String expression) {
super(expression);
- this.table = table;
}
@Override
@@ -102,7 +94,7 @@
for (R data : datas) {
String speciesText = decorator.toString(data);
- Comparable value = new RowComparatorContext(table, speciesText, index++);
+ Comparable value = new RowComparatorContext(speciesText, index++);
valueCache.put(data, value);
}
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRowHelper.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRowHelper.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRowHelper.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -0,0 +1,296 @@
+package fr.ifremer.tutti.ui.swing.content.operation.catches;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import fr.ifremer.shared.application.swing.table.AbstractApplicationTableModel;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesAbleBatch;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.service.TuttiDecorator;
+import jaxx.runtime.SwingUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jdesktop.swingx.JXTable;
+import org.jdesktop.swingx.table.TableColumnExt;
+import org.nuiton.decorator.DecoratorUtil;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JLabel;
+import javax.swing.JPopupMenu;
+import javax.swing.JRadioButtonMenuItem;
+import javax.swing.JSeparator;
+import javax.swing.SwingUtilities;
+import javax.swing.table.JTableHeader;
+import java.awt.Point;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Helper methods aroun sorting species rows.
+ * Created on 1/8/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public class SpeciesBatchRowHelper {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(SpeciesBatchRowHelper.class);
+
+ public static final String SPECIES_DECORATOR = "decorator";
+
+ public static final String SPECIES_DECORATOR_INDEX = "decoratorIndex";
+
+ public static <E extends SpeciesAbleBatch> int getIndexToInsert(List<E> rows,
+ E newRow,
+ SpeciesSortMode sortMode,
+ SpeciesBatchDecorator decorator) {
+
+ int result;
+
+ int rowsSize = rows.size();
+ if (sortMode == SpeciesSortMode.NONE) {
+ // after the last row
+ result = rowsSize;
+ } else {
+
+ // get the universe of species
+ Set<Species> speciesSet = Sets.newHashSet();
+ for (E row : rows) {
+ speciesSet.add(row.getSpecies());
+ }
+ Species newSpecies = newRow.getSpecies();
+
+ boolean speciestoAdd = speciesSet.add(newSpecies);
+
+ int nbSpecies = speciesSet.size();
+
+ // sort it
+ List<Species> speciesList = Lists.newArrayList(speciesSet);
+ TuttiDecorator.TuttiDecoratorComparator<Species> comparator = decorator.getOriginalComparator();
+ comparator.init(decorator, speciesList);
+ Collections.sort(speciesList, comparator);
+ if (sortMode == SpeciesSortMode.DESC) {
+
+ // reserve order
+ Collections.reverse(speciesList);
+ }
+
+ int indexOf = speciesList.indexOf(newSpecies);
+
+ if (!speciestoAdd) {
+ // add after all rows of the species
+ indexOf++;
+ }
+
+ if (indexOf == 0) {
+
+ // limit case: first row
+ result = 0;
+ } else if (indexOf >= nbSpecies) {
+
+ // limit case: last row
+ result = rowsSize;
+ } else {
+
+ // must insert before this species
+ Species beforeSpecies;
+ if (speciestoAdd) {
+ beforeSpecies = speciesList.get(indexOf + 1);
+ } else {
+ beforeSpecies = speciesList.get(indexOf);
+ }
+ result = 0;
+ for (E row : rows) {
+ Species species = row.getSpecies();
+ if (beforeSpecies.equals(species)) {
+ break;
+ }
+ result++;
+ }
+ }
+ }
+ return result;
+ }
+
+ public static TuttiDecorator<Species> getSpeciesColumnDecorator(TableColumnExt tableColumn) {
+ TuttiDecorator<Species> decorator = (TuttiDecorator<Species>) tableColumn.getClientProperty(SPECIES_DECORATOR);
+ return decorator;
+ }
+
+ public static <R extends Serializable, T extends AbstractApplicationTableModel<R>> void installSpeciesColumnComparatorPopup(JXTable table,
+ TableColumnExt speciesColumn,
+ SpeciesSortableRowModel optionalModel,
+ String... tips) {
+
+ ButtonGroup buttonGroup = new ButtonGroup();
+
+ SpeciesDecoratorListener<R, T> speciesDecoratorListener =
+ new SpeciesDecoratorListener<R, T>(table, buttonGroup, optionalModel);
+
+ TuttiDecorator<Species> decorator =
+ getSpeciesColumnDecorator(speciesColumn);
+
+ JPopupMenu popup = new JPopupMenu();
+ popup.add(new JLabel(_("tutti.ui.change.species.decorator")));
+ popup.add(new JSeparator());
+
+ for (int i = 0, nbContext = decorator.getNbContext(); i < nbContext; i++) {
+ String property = decorator.getProperty(i);
+
+ String i18nName = "tutti.property." + property;
+ speciesColumn.putClientProperty(i18nName, tips[i]);
+ JRadioButtonMenuItem item = new JRadioButtonMenuItem(tips[i]);
+ item.putClientProperty(SPECIES_DECORATOR_INDEX, i);
+ item.addActionListener(speciesDecoratorListener);
+ if (i == 0) {
+ // select the first property (as it is the
+ item.setSelected(true);
+ }
+ buttonGroup.add(item);
+ popup.add(item);
+ }
+
+ // recompute the header tip using the decorator
+ speciesDecoratorListener.recomputeSpeciesColumnTip();
+
+ // listen when to show popup menu on cell header
+ table.getTableHeader().addMouseListener(
+ new ShowSpeciesDecoratorPopupListener(popup));
+
+ }
+
+ public static <R extends SpeciesAbleBatch> void sortSpeciesRows(SpeciesBatchDecoratorComparator comparator,
+ SpeciesBatchDecorator decorator,
+ List<R> rows,
+ SpeciesSortMode speciesSortMode) {
+ comparator.setSpeciesSortMode(speciesSortMode);
+ comparator.init(decorator, rows);
+
+ switch (speciesSortMode) {
+
+ case NONE:
+ // nothing special to do
+ break;
+ case ASC:
+ case DESC:
+ // sort
+ DecoratorUtil.sort(decorator, rows, decorator.getContextIndex());
+ break;
+ }
+ }
+
+ protected static class SpeciesDecoratorListener<R extends Serializable, T extends AbstractApplicationTableModel<R>> implements ActionListener {
+
+ protected final JXTable table;
+
+ protected final ButtonGroup buttonGroup;
+
+ protected final SpeciesSortableRowModel optionalModel;
+
+ protected final TuttiDecorator<Species> decorator;
+
+ protected final TableColumnExt column;
+
+ public SpeciesDecoratorListener(JXTable table,
+ ButtonGroup buttonGroup,
+ SpeciesSortableRowModel optionalModel) {
+ this.table = table;
+ this.buttonGroup = buttonGroup;
+ this.optionalModel = optionalModel;
+ this.column = (TableColumnExt) table.getColumn(0);
+ this.decorator = getSpeciesColumnDecorator(column);
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+
+ JRadioButtonMenuItem source = (JRadioButtonMenuItem) e.getSource();
+ buttonGroup.setSelected(source.getModel(), true);
+
+ Integer index =
+ (Integer) source.getClientProperty(SPECIES_DECORATOR_INDEX);
+
+ if (log.isInfoEnabled()) {
+ log.info("Selected decorator context index: " + index);
+ }
+
+ // do the decoration from here
+ decorator.setContextIndex(index);
+
+ column.setComparator(decorator.getCurrentComparator());
+
+ // recompute the header tip
+ recomputeSpeciesColumnTip();
+
+ if (optionalModel != null) {
+
+ // set new index in model
+ optionalModel.setSpeciesDecoratorContextIndex(index);
+ } else {
+
+ // reload table data
+ T tableModel = (T) table.getModel();
+
+ // keep selected rows
+ List<R> rowsToReSelect = Lists.newArrayList();
+ for (int rowIndex : SwingUtil.getSelectedModelRows(table)) {
+ R row = tableModel.getEntry(rowIndex);
+ rowsToReSelect.add(row);
+ }
+
+ // fire model (will reload the comparator)
+ tableModel.fireTableDataChanged();
+
+ // reselect rows
+ for (R row : rowsToReSelect) {
+ int modelRowIndex = tableModel.getRowIndex(row);
+ SwingUtil.addRowSelectionInterval(table, modelRowIndex);
+ }
+ }
+ }
+
+ public void recomputeSpeciesColumnTip() {
+ List<String> tips = Lists.newArrayList();
+ for (int i = 0, nbContext = decorator.getNbContext(); i < nbContext; i++) {
+ String property = decorator.getProperty(i);
+
+ String i18nName = "tutti.property." + property;
+ String tip = (String) column.getClientProperty(i18nName);
+ tips.add(tip);
+ }
+ String tip = Joiner.on(" - ").join(tips);
+ column.setToolTipText(tip);
+ }
+ }
+
+ protected static class ShowSpeciesDecoratorPopupListener extends MouseAdapter {
+
+ private final JPopupMenu popup;
+
+ public ShowSpeciesDecoratorPopupListener(JPopupMenu popup) {
+ this.popup = popup;
+ }
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ JTableHeader source = (JTableHeader) e.getSource();
+ Point point = e.getPoint();
+ int columnIndex = source.columnAtPoint(point);
+
+ boolean rightClick = SwingUtilities.isRightMouseButton(e);
+ if (columnIndex == 0 && rightClick) {
+ e.consume();
+ popup.show(source, e.getX(), e.getY());
+ }
+ }
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRowHelper.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortMode.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortMode.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortMode.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -0,0 +1,14 @@
+package fr.ifremer.tutti.ui.swing.content.operation.catches;
+
+/**
+ * Created on 1/7/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since XXX
+ */
+public enum SpeciesSortMode {
+
+ NONE,
+ ASC,
+ DESC
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortMode.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortableRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortableRowModel.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortableRowModel.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -0,0 +1,34 @@
+package fr.ifremer.tutti.ui.swing.content.operation.catches;
+
+/**
+ * Created on 1/8/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 3.0
+ */
+public interface SpeciesSortableRowModel {
+
+ String PROPERTY_SPECIES_SORT_MODE = "speciesSortMode";
+
+ String PROPERTY_SPECIES_SORT_MODE_NONE = "speciesSortModeNone";
+
+ String PROPERTY_SPECIES_SORT_MODE_ASC = "speciesSortModeAsc";
+
+ String PROPERTY_SPECIES_SORT_MODE_DESC = "speciesSortModeDesc";
+
+ String PROPERTY_SPECIES_DECORATOR_CONTEXT_INDEX = "speciesDecoratorContextIndex";
+
+ SpeciesSortMode getSpeciesSortMode();
+
+ void setSpeciesSortMode(SpeciesSortMode speciesSortMode);
+
+ boolean isSpeciesSortModeNone();
+
+ boolean isSpeciesSortModeAsc();
+
+ boolean isSpeciesSortModeDesc();
+
+ int getSpeciesDecoratorContextIndex();
+
+ void setSpeciesDecoratorContextIndex(int speciesDecoratorContextIndex);
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesSortableRowModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2014-01-08 12:34:01 UTC (rev 1479)
@@ -141,6 +141,10 @@
border: {new TitledBorder(null, "")};
}
+#speciesSortTablePane {
+ border: {new TitledBorder(null, "")};
+}
+
#filterBenthosBatchLabel {
actionIcon: filter;
text: "tutti.editBenthosBatch.filterBatch";
@@ -149,30 +153,14 @@
_help: {"tutti.editBenthosBatch.filterBatch.help"};
}
-#filterBenthosBatchAllButton {
- text: "tutti.editBenthosBatch.filterBatch.mode.all";
- toolTipText: "tutti.editBenthosBatch.filterBatch.mode.all.tip";
- value: "all";
- selected: {model.isTableViewModeAll()};
- buttonGroup: "filterBenthosBatchMode";
+#speciesSortBatchLabel {
+ actionIcon: sort;
+ text: "tutti.editBenthosBatch.sortSpeciesBatch";
+ toolTipText: "tutti.editBenthosBatch.sortSpeciesBatch.tip";
+ _strongStyle: true;
+ _help: {"tutti.editBenthosBatch.sortSpeciesBatch.help"};
}
-#filterBenthosBatchLeafButton {
- text: "tutti.editBenthosBatch.filterBatch.mode.leaf";
- toolTipText: "tutti.editBenthosBatch.filterBatch.mode.leaf.tip";
- value: "leaf";
- selected: {model.isTableViewModeLeaf()};
- buttonGroup: "filterBenthosBatchMode";
-}
-
-#filterBenthosBatchRootButton {
- text: {handler.getFilterBenthosBatchRootButtonText(model.getRootNumber())};
- toolTipText: "tutti.editBenthosBatch.filterBatch.mode.root.tip";
- value: "root";
- selected: {model.isTableViewModeRoot()};
- buttonGroup: "filterBenthosBatchMode";
-}
-
#splitBenthosBatchMenu {
actionIcon: batch-split;
text: "tutti.editBenthosBatch.action.splitBatch";
@@ -249,6 +237,30 @@
_help: {"tutti.editBenthosBatch.action.editFrequencies.help"};
}
+#filterBenthosBatchAllButton {
+ text: "tutti.editBenthosBatch.filterBatch.mode.all";
+ toolTipText: "tutti.editBenthosBatch.filterBatch.mode.all.tip";
+ value: "all";
+ selected: {model.isTableViewModeAll()};
+ buttonGroup: "filterBenthosBatchMode";
+}
+
+#filterBenthosBatchLeafButton {
+ text: "tutti.editBenthosBatch.filterBatch.mode.leaf";
+ toolTipText: "tutti.editBenthosBatch.filterBatch.mode.leaf.tip";
+ value: "leaf";
+ selected: {model.isTableViewModeLeaf()};
+ buttonGroup: "filterBenthosBatchMode";
+}
+
+#filterBenthosBatchRootButton {
+ text: {handler.getFilterBenthosBatchRootButtonText(model.getRootNumber())};
+ toolTipText: "tutti.editBenthosBatch.filterBatch.mode.root.tip";
+ value: "root";
+ selected: {model.isTableViewModeRoot()};
+ buttonGroup: "filterBenthosBatchMode";
+}
+
#importMultiPostButton {
actionIcon: import;
text: "tutti.editBenthosBatch.action.importMultiPost";
@@ -274,3 +286,30 @@
i18nMnemonic: "tutti.editBenthosBatch.action.createBatch.mnemonic";
_help: {"tutti.editBenthosBatch.action.createBatch.help"};
}
+
+#speciesSortModeNoneButton {
+ text: "tutti.editBenthosBatch.speciesSortMode.none";
+ toolTipText: "tutti.editBenthosBatch.speciesSortMode.none.tip";
+ _help: {"tutti.editBenthosBatch.field.speciesSortMode.none.help"};
+ value: "NONE";
+ selected: {model.isSpeciesSortModeNone()};
+ buttonGroup: "speciesSort";
+}
+
+#speciesSortModeAscButton {
+ text: "tutti.editBenthosBatch.speciesSortMode.asc";
+ toolTipText: "tutti.editBenthosBatch.speciesSortMode.asc.tip";
+ _help: {"tutti.editBenthosBatch.field.speciesSortMode.asc.help"};
+ value: "ASC";
+ selected: {model.isSpeciesSortModeAsc()};
+ buttonGroup: "speciesSort";
+}
+
+#speciesSortModeDescButton {
+ text: "tutti.editBenthosBatch.speciesSortMode.desc";
+ toolTipText: "tutti.editBenthosBatch.speciesSortMode.desc.tip";
+ _help: {"tutti.editBenthosBatch.field.speciesSortMode.desc.help"};
+ value: "DESC";
+ selected: {model.isSpeciesSortModeDesc()};
+ buttonGroup: "speciesSort";
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2014-01-08 12:34:01 UTC (rev 1479)
@@ -28,7 +28,7 @@
<import><![CDATA[
fr.ifremer.tutti.ui.swing.TuttiHelpBroker
fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode
-
+ fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode
fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.util.TuttiUIUtil
fr.ifremer.shared.application.swing.computable.ComputableDataEditor
@@ -143,14 +143,25 @@
<JButton id='createBenthosBatchButton'
onActionPerformed='handler.createBatch()'/>
</JPanel>
- <JPanel id='filterTablePane' constraints='BorderLayout.CENTER'>
- <JLabel id='filterBenthosBatchLabel'/>
- <JRadioButton id='filterBenthosBatchAllButton'
- onActionPerformed='model.setTableViewMode(TableViewMode.ALL)'/>
- <JRadioButton id='filterBenthosBatchLeafButton'
- onActionPerformed='model.setTableViewMode(TableViewMode.LEAF)'/>
- <JRadioButton id='filterBenthosBatchRootButton'
- onActionPerformed='model.setTableViewMode(TableViewMode.ROOT)'/>
+ <JPanel constraints='BorderLayout.CENTER' layout='{new GridLayout()}'>
+ <JPanel id='filterTablePane'>
+ <JLabel id='filterBenthosBatchLabel'/>
+ <JRadioButton id='filterBenthosBatchAllButton'
+ onActionPerformed='model.setTableViewMode(TableViewMode.ALL)'/>
+ <JRadioButton id='filterBenthosBatchLeafButton'
+ onActionPerformed='model.setTableViewMode(TableViewMode.LEAF)'/>
+ <JRadioButton id='filterBenthosBatchRootButton'
+ onActionPerformed='model.setTableViewMode(TableViewMode.ROOT)'/>
+ </JPanel>
+ <JPanel id='speciesSortTablePane'>
+ <JLabel id='speciesSortBatchLabel'/>
+ <JRadioButton id='speciesSortModeNoneButton'
+ onActionPerformed='model.setSpeciesSortMode(SpeciesSortMode.NONE)'/>
+ <JRadioButton id='speciesSortModeAscButton'
+ onActionPerformed='model.setSpeciesSortMode(SpeciesSortMode.ASC)'/>
+ <JRadioButton id='speciesSortModeDescButton'
+ onActionPerformed='model.setSpeciesSortMode(SpeciesSortMode.DESC)'/>
+ </JPanel>
</JPanel>
</JPanel>
</cell>
@@ -164,8 +175,4 @@
onKeyPressed='handler.openRowMenu(event, tablePopup)'/>
</JScrollPane>
- <!--JPanel constraints='BorderLayout.SOUTH'
- minimumSize="{new Dimension(10,30)}"
- maximumSize="{new Dimension(10,30)}"
- preferredSize="{new Dimension(10,30)}"/-->
</JPanel>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -43,7 +43,6 @@
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.service.TuttiDecorator;
import fr.ifremer.tutti.service.ValidationService;
import fr.ifremer.tutti.ui.swing.content.operation.catches.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
@@ -52,6 +51,9 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryColumnIdentifier;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryComponent;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchDecorator;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchDecoratorComparator;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchRowHelper;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode;
import fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.create.CreateBenthosBatchUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.create.CreateBenthosBatchUIModel;
@@ -263,6 +265,16 @@
}
}
}
+
+ SpeciesBatchDecorator decorator = getSpeciesColumnDecorator();
+
+ SpeciesSortMode speciesSortMode = model.getSpeciesSortMode();
+ SpeciesBatchDecoratorComparator comparator = getSpeciesRowComparator();
+
+ SpeciesBatchRowHelper.sortSpeciesRows(comparator,
+ decorator,
+ rows,
+ speciesSortMode);
}
model.setRows(rows);
@@ -714,6 +726,7 @@
BenthosBatchUIModel model = new BenthosBatchUIModel(catchesUIModel);
model.setTableViewMode(TableViewMode.ALL);
+ model.setSpeciesSortMode(SpeciesSortMode.NONE);
ui.setContextValue(model);
}
@@ -761,8 +774,8 @@
BenthosBatchTableModel.SPECIES);
speciesColumn.setSortable(true);
SpeciesBatchDecorator<BenthosBatchRowModel> speciesDecorator =
- SpeciesBatchDecorator.newDecorator(table);
- speciesColumn.putClientProperty(TuttiUIUtil.SPECIES_DECORATOR, speciesDecorator);
+ SpeciesBatchDecorator.newDecorator();
+ speciesColumn.putClientProperty(SpeciesBatchRowHelper.SPECIES_DECORATOR, speciesDecorator);
speciesColumn.setCellRenderer(newTableCellRender(speciesDecorator));
}
@@ -855,6 +868,39 @@
getTable().setRowFilter(filter);
}
});
+
+ // when species sort mode change, must reload the firshing operation
+ // and applying the sort on model
+ getModel().addPropertyChangeListener(BenthosBatchUIModel.PROPERTY_SPECIES_SORT_MODE, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ SpeciesSortMode newValue = (SpeciesSortMode) evt.getNewValue();
+ if (log.isInfoEnabled()) {
+ log.info("New species sort mode: " + newValue);
+ }
+
+ // must reload fishing operation
+ selectFishingOperation(getModel().getFishingOperation());
+ }
+ });
+
+ // when species sort mode change, must reload the firshing operation
+ // and applying the sort on model
+ getModel().addPropertyChangeListener(BenthosBatchUIModel.PROPERTY_SPECIES_DECORATOR_CONTEXT_INDEX, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ int newValue = (int) evt.getNewValue();
+ if (log.isInfoEnabled()) {
+ log.info("New species decorator context index: " + newValue);
+ }
+
+ // update the decorator context index
+ getSpeciesColumnDecorator().setContextIndex(newValue);
+
+ // reload fishing operation
+ selectFishingOperation(getModel().getFishingOperation());
+ }
+ });
}
@Override
@@ -885,37 +931,22 @@
e.getLastRow() == Integer.MAX_VALUE) {
// get column comparator
- TuttiDecorator.TuttiDecoratorComparator<BenthosBatchRowModel> comparator =
- (TuttiDecorator.TuttiDecoratorComparator<BenthosBatchRowModel>)
- speciesColumn.getComparator();
+ SpeciesBatchDecoratorComparator<BenthosBatchRowModel> comparator = getSpeciesRowComparator();
- // get column comparator
- TuttiDecorator<BenthosBatchRowModel> decorator =
- TuttiUIUtil.getSpeciesColumnDecorator(speciesColumn);
+ // get column decorator
+ SpeciesBatchDecorator<BenthosBatchRowModel> decorator = getSpeciesColumnDecorator();
- boolean comparatorNull = comparator == null;
- if (comparatorNull) {
-
- // first time coming here, add the comparator
- comparator = decorator.getCurrentComparator();
- }
-
// init comparator with model species list
- comparator.init(decorator, tableModel.getRows());
-
- if (comparatorNull) {
-
- // affect it to colum
- speciesColumn.setComparator(comparator);
- }
+ comparator.init((SpeciesBatchDecorator) decorator, tableModel.getRows());
}
}
});
// create popup to change species decorator
- TuttiUIUtil.<BenthosBatchRowModel, BenthosBatchTableModel>installSpeciesColumnComparatorPopup(
+ SpeciesBatchRowHelper.installSpeciesColumnComparatorPopup(
table,
speciesColumn,
+ getModel(),
_("tutti.species.surveyCode.tip"),
_("tutti.species.name.tip")
);
@@ -966,8 +997,16 @@
saveRow(newRow);
- tableModel.addNewRow(newRow);
- TuttiUIUtil.selectFirstCellOnLastRow(getTable());
+ int insertIndex = SpeciesBatchRowHelper.getIndexToInsert(
+ tableModel.getRows(),
+ newRow,
+ getModel().getSpeciesSortMode(),
+ getSpeciesColumnDecorator());
+ if (log.isDebugEnabled()) {
+ log.debug("Will insert at index: " + insertIndex);
+ }
+ tableModel.addNewRow(insertIndex, newRow);
+ TuttiUIUtil.doSelectCell(getTable(), insertIndex, 0);
// update speciesUsed
addToSpeciesUsed(newRow);
@@ -1669,4 +1708,36 @@
}
return usedValues;
}
+
+ protected SpeciesBatchDecoratorComparator<BenthosBatchRowModel> getSpeciesRowComparator() {
+ TableColumnExt speciesColumn =
+ (TableColumnExt) getTable().getColumns().get(0);
+
+ SpeciesBatchDecoratorComparator<BenthosBatchRowModel> comparator =
+ (SpeciesBatchDecoratorComparator<BenthosBatchRowModel>) speciesColumn.getComparator();
+
+ SpeciesBatchDecorator<BenthosBatchRowModel> decorator = getSpeciesColumnDecorator();
+
+ boolean comparatorNull = comparator == null;
+ if (comparatorNull) {
+
+ // first time coming here, add the comparator
+ comparator = (SpeciesBatchDecoratorComparator) decorator.getCurrentComparator();
+ }
+
+ if (comparatorNull) {
+
+ // affect it to colum
+ speciesColumn.setComparator(comparator);
+ }
+ return comparator;
+ }
+
+ protected SpeciesBatchDecorator<BenthosBatchRowModel> getSpeciesColumnDecorator() {
+ TableColumnExt speciesColumn =
+ (TableColumnExt) getTable().getColumns().get(0);
+ SpeciesBatchDecorator<BenthosBatchRowModel> decorator =
+ (SpeciesBatchDecorator<BenthosBatchRowModel>) SpeciesBatchRowHelper.getSpeciesColumnDecorator(speciesColumn);
+ return decorator;
+ }
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIModel.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIModel.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -25,13 +25,15 @@
*/
import com.google.common.collect.Multimap;
+import fr.ifremer.shared.application.swing.computable.ComputableData;
+import fr.ifremer.shared.application.swing.tab.TabContentModel;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.AbstractTuttiBatchUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortableRowModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode;
-import fr.ifremer.shared.application.swing.tab.TabContentModel;
-import fr.ifremer.shared.application.swing.computable.ComputableData;
import org.apache.commons.collections.CollectionUtils;
import static org.nuiton.i18n.I18n.n_;
@@ -41,7 +43,7 @@
* @since 0.1
*/
public class BenthosBatchUIModel extends AbstractTuttiBatchUIModel<BenthosBatchRowModel, BenthosBatchUIModel>
- implements TabContentModel {
+ implements TabContentModel, SpeciesSortableRowModel {
private static final long serialVersionUID = 1L;
@@ -142,6 +144,20 @@
/** @since 1.0 */
protected int leafNumber;
+ /**
+ * How to sort table.
+ *
+ * @since 3.0
+ */
+ protected SpeciesSortMode speciesSortMode;
+
+ /**
+ * Which decorator index for species column decorate.
+ *
+ * @since 3.0
+ */
+ protected int speciesDecoratorContextIndex;
+
public BenthosBatchUIModel(EditCatchesUIModel catchesUIModel) {
super(catchesUIModel,
EditCatchesUIModel.PROPERTY_BENTHOS_TOTAL_COMPUTED_WEIGHT,
@@ -375,4 +391,50 @@
this.editFrequenciesEnabled = editFrequenciesEnabled;
firePropertyChange(PROPERTY_EDIT_FREQUENCIES_ENABLED, null, editFrequenciesEnabled);
}
+
+ //------------------------------------------------------------------------//
+ //-- SpeciesSortableRowModel --//
+ //------------------------------------------------------------------------//
+
+ @Override
+ public SpeciesSortMode getSpeciesSortMode() {
+ return speciesSortMode;
+ }
+
+ @Override
+ public void setSpeciesSortMode(SpeciesSortMode speciesSortMode) {
+ Object oldValue = getSpeciesSortMode();
+ this.speciesSortMode = speciesSortMode;
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE, oldValue, speciesSortMode);
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE_NONE, null, isSpeciesSortModeNone());
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE_ASC, null, isSpeciesSortModeAsc());
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE_DESC, null, isSpeciesSortModeDesc());
+ }
+
+ @Override
+ public boolean isSpeciesSortModeNone() {
+ return SpeciesSortMode.NONE.equals(speciesSortMode);
+ }
+
+ @Override
+ public boolean isSpeciesSortModeAsc() {
+ return SpeciesSortMode.ASC.equals(speciesSortMode);
+ }
+
+ @Override
+ public boolean isSpeciesSortModeDesc() {
+ return SpeciesSortMode.DESC.equals(speciesSortMode);
+ }
+
+ @Override
+ public int getSpeciesDecoratorContextIndex() {
+ return speciesDecoratorContextIndex;
+ }
+
+ @Override
+ public void setSpeciesDecoratorContextIndex(int speciesDecoratorContextIndex) {
+ int oldValue = getSpeciesDecoratorContextIndex();
+ this.speciesDecoratorContextIndex = speciesDecoratorContextIndex;
+ firePropertyChange(PROPERTY_SPECIES_DECORATOR_CONTEXT_INDEX, oldValue, speciesDecoratorContextIndex);
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2014-01-08 12:34:01 UTC (rev 1479)
@@ -141,6 +141,10 @@
border: {new TitledBorder(null, "")};
}
+#speciesSortTablePane {
+ border: {new TitledBorder(null, "")};
+}
+
#filterSpeciesBatchLabel {
actionIcon: filter;
text: "tutti.editSpeciesBatch.filterBatch";
@@ -149,6 +153,14 @@
_help: {"tutti.editSpeciesBatch.filterSpeciesBatch.help"};
}
+#speciesSortBatchLabel {
+ actionIcon: sort;
+ text: "tutti.editSpeciesBatch.sortSpeciesBatch";
+ toolTipText: "tutti.editSpeciesBatch.sortSpeciesBatch.tip";
+ _strongStyle: true;
+ _help: {"tutti.editSpeciesBatch.sortSpeciesBatch.help"};
+}
+
#splitSpeciesBatchMenu {
actionIcon: batch-split;
text: "tutti.editSpeciesBatch.action.splitBatch";
@@ -283,3 +295,30 @@
i18nMnemonic: "tutti.editSpeciesBatch.action.createBatch.mnemonic";
_help: {"tutti.editSpeciesBatch.action.createBatch.help"};
}
+
+#speciesSortModeNoneButton {
+ text: "tutti.editSpeciesBatch.speciesSortMode.none";
+ toolTipText: "tutti.editSpeciesBatch.speciesSortMode.none.tip";
+ _help: {"tutti.editSpeciesBatch.field.speciesSortMode.none.help"};
+ value: "NONE";
+ selected: {model.isSpeciesSortModeNone()};
+ buttonGroup: "speciesSort";
+}
+
+#speciesSortModeAscButton {
+ text: "tutti.editSpeciesBatch.speciesSortMode.asc";
+ toolTipText: "tutti.editSpeciesBatch.speciesSortMode.asc.tip";
+ _help: {"tutti.editSpeciesBatch.field.speciesSortMode.asc.help"};
+ value: "ASC";
+ selected: {model.isSpeciesSortModeAsc()};
+ buttonGroup: "speciesSort";
+}
+
+#speciesSortModeDescButton {
+ text: "tutti.editSpeciesBatch.speciesSortMode.desc";
+ toolTipText: "tutti.editSpeciesBatch.speciesSortMode.desc.tip";
+ _help: {"tutti.editSpeciesBatch.field.speciesSortMode.desc.help"};
+ value: "DESC";
+ selected: {model.isSpeciesSortModeDesc()};
+ buttonGroup: "speciesSort";
+}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2014-01-08 12:34:01 UTC (rev 1479)
@@ -27,8 +27,8 @@
<import><![CDATA[
fr.ifremer.tutti.ui.swing.TuttiHelpBroker
- fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode
+ fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode
fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.util.TuttiUIUtil
fr.ifremer.shared.application.swing.computable.ComputableDataEditor
@@ -45,7 +45,7 @@
<script><![CDATA[
-public SpeciesBatchUI(EditCatchesUI parentUI) {
+public SpeciesBatchUI(TuttiUI<?,?> parentUI) {
TuttiUIUtil.setParentUI(this, parentUI);
}
]]></script>
@@ -145,14 +145,25 @@
<JButton id='createSpeciesBatchButton'
onActionPerformed='handler.createBatch()'/>
</JPanel>
- <JPanel id='filterTablePane' constraints='BorderLayout.CENTER'>
- <JLabel id='filterSpeciesBatchLabel'/>
- <JRadioButton id='filterSpeciesBatchAllButton'
- onActionPerformed='model.setTableViewMode(TableViewMode.ALL)'/>
- <JRadioButton id='filterSpeciesBatchLeafButton'
- onActionPerformed='model.setTableViewMode(TableViewMode.LEAF)'/>
- <JRadioButton id='filterSpeciesBatchRootButton'
- onActionPerformed='model.setTableViewMode(TableViewMode.ROOT)'/>
+ <JPanel constraints='BorderLayout.CENTER' layout='{new GridLayout()}'>
+ <JPanel id='filterTablePane'>
+ <JLabel id='filterSpeciesBatchLabel'/>
+ <JRadioButton id='filterSpeciesBatchAllButton'
+ onActionPerformed='model.setTableViewMode(TableViewMode.ALL)'/>
+ <JRadioButton id='filterSpeciesBatchLeafButton'
+ onActionPerformed='model.setTableViewMode(TableViewMode.LEAF)'/>
+ <JRadioButton id='filterSpeciesBatchRootButton'
+ onActionPerformed='model.setTableViewMode(TableViewMode.ROOT)'/>
+ </JPanel>
+ <JPanel id='speciesSortTablePane'>
+ <JLabel id='speciesSortBatchLabel'/>
+ <JRadioButton id='speciesSortModeNoneButton'
+ onActionPerformed='model.setSpeciesSortMode(SpeciesSortMode.NONE)'/>
+ <JRadioButton id='speciesSortModeAscButton'
+ onActionPerformed='model.setSpeciesSortMode(SpeciesSortMode.ASC)'/>
+ <JRadioButton id='speciesSortModeDescButton'
+ onActionPerformed='model.setSpeciesSortMode(SpeciesSortMode.DESC)'/>
+ </JPanel>
</JPanel>
</JPanel>
</cell>
@@ -166,18 +177,4 @@
onKeyPressed='handler.openRowMenu(event, tablePopup)'/>
</JScrollPane>
- <!--JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER' columnHeaderView="{table.getTableHeader()}">
- <JPanel layout='{new BorderLayout()}'>
- <JXTable id='table' constraints='BorderLayout.CENTER'
- onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)'
- onKeyPressed='handler.openRowMenu(event, tablePopup)'/>
- <JLabel constraints='BorderLayout.SOUTH'
- preferredSize="{new Dimension(10,100)}"/>
- </JPanel>
-
- </JScrollPane-->
-
-
- <!--background="{Color.WHITE}"/>-->
-
</JPanel>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -43,7 +43,6 @@
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.service.DecoratorService;
-import fr.ifremer.tutti.service.TuttiDecorator;
import fr.ifremer.tutti.service.ValidationService;
import fr.ifremer.tutti.ui.swing.content.operation.catches.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
@@ -52,6 +51,9 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryColumnIdentifier;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryComponent;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchDecorator;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchDecoratorComparator;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchRowHelper;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode;
import fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUIModel;
@@ -216,6 +218,16 @@
}
}
}
+
+ SpeciesBatchDecorator decorator = getSpeciesColumnDecorator();
+
+ SpeciesSortMode speciesSortMode = model.getSpeciesSortMode();
+ SpeciesBatchDecoratorComparator comparator = getSpeciesRowComparator();
+
+ SpeciesBatchRowHelper.sortSpeciesRows(comparator,
+ decorator,
+ rows,
+ speciesSortMode);
}
model.setRows(rows);
@@ -669,6 +681,7 @@
SpeciesBatchUIModel model = new SpeciesBatchUIModel(catchesUIModel);
model.setTableViewMode(TableViewMode.ALL);
+ model.setSpeciesSortMode(SpeciesSortMode.NONE);
ui.setContextValue(model);
}
@@ -716,8 +729,8 @@
SpeciesBatchTableModel.SPECIES);
speciesColumn.setSortable(true);
SpeciesBatchDecorator<SpeciesBatchRowModel> speciesDecorator =
- SpeciesBatchDecorator.newDecorator(table);
- speciesColumn.putClientProperty(TuttiUIUtil.SPECIES_DECORATOR, speciesDecorator);
+ SpeciesBatchDecorator.newDecorator();
+ speciesColumn.putClientProperty(SpeciesBatchRowHelper.SPECIES_DECORATOR, speciesDecorator);
speciesColumn.setCellRenderer(newTableCellRender(speciesDecorator));
}
@@ -811,6 +824,39 @@
getTable().setRowFilter(filter);
}
});
+
+ // when species sort mode change, must reload the firshing operation
+ // and applying the sort on model
+ getModel().addPropertyChangeListener(SpeciesBatchUIModel.PROPERTY_SPECIES_SORT_MODE, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ SpeciesSortMode newValue = (SpeciesSortMode) evt.getNewValue();
+ if (log.isInfoEnabled()) {
+ log.info("New species sort mode: " + newValue);
+ }
+
+ // must reload fishing operation
+ selectFishingOperation(getModel().getFishingOperation());
+ }
+ });
+
+ // when species sort mode change, must reload the firshing operation
+ // and applying the sort on model
+ getModel().addPropertyChangeListener(SpeciesBatchUIModel.PROPERTY_SPECIES_DECORATOR_CONTEXT_INDEX, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ int newValue = (int) evt.getNewValue();
+ if (log.isInfoEnabled()) {
+ log.info("New species decorator context index: " + newValue);
+ }
+
+ // update the decorator context index
+ getSpeciesColumnDecorator().setContextIndex(newValue);
+
+ // reload fishing operation
+ selectFishingOperation(getModel().getFishingOperation());
+ }
+ });
}
@Override
@@ -839,40 +885,28 @@
int type = e.getType();
if (type == TableModelEvent.DELETE ||
type == TableModelEvent.INSERT ||
+ type == TableModelEvent.INSERT ||
e.getLastRow() == Integer.MAX_VALUE) {
// get column comparator
- TuttiDecorator.TuttiDecoratorComparator<SpeciesBatchRowModel> comparator =
- (TuttiDecorator.TuttiDecoratorComparator<SpeciesBatchRowModel>)
- speciesColumn.getComparator();
+ SpeciesBatchDecoratorComparator<SpeciesBatchRowModel> comparator =
+ getSpeciesRowComparator();
- // get column comparator
- TuttiDecorator<SpeciesBatchRowModel> decorator =
- TuttiUIUtil.getSpeciesColumnDecorator(speciesColumn);
+ // get column decorator
+ SpeciesBatchDecorator<SpeciesBatchRowModel> decorator =
+ getSpeciesColumnDecorator();
- boolean comparatorNull = comparator == null;
- if (comparatorNull) {
-
- // first time coming here, add the comparator
- comparator = decorator.getCurrentComparator();
- }
-
// init comparator with model species list
- comparator.init(decorator, tableModel.getRows());
-
- if (comparatorNull) {
-
- // affect it to colum
- speciesColumn.setComparator(comparator);
- }
+ comparator.init((SpeciesBatchDecorator) decorator, tableModel.getRows());
}
}
});
// create popup to change species decorator
- TuttiUIUtil.<SpeciesBatchRowModel, SpeciesBatchTableModel>installSpeciesColumnComparatorPopup(
+ SpeciesBatchRowHelper.installSpeciesColumnComparatorPopup(
table,
speciesColumn,
+ getModel(),
_("tutti.species.surveyCode.tip"),
_("tutti.species.name.tip")
);
@@ -922,9 +956,18 @@
saveRow(newRow);
- tableModel.addNewRow(newRow);
- TuttiUIUtil.selectFirstCellOnLastRow(getTable());
+ int insertIndex = SpeciesBatchRowHelper.getIndexToInsert(
+ tableModel.getRows(),
+ newRow,
+ getModel().getSpeciesSortMode(),
+ getSpeciesColumnDecorator());
+ if (log.isDebugEnabled()) {
+ log.debug("Will insert at index: " + insertIndex);
+ }
+ tableModel.addNewRow(insertIndex, newRow);
+ TuttiUIUtil.doSelectCell(getTable(), insertIndex, 0);
+
// update speciesUsed
addToSpeciesUsed(newRow);
@@ -1626,4 +1669,37 @@
}
return usedValues;
}
+
+ protected SpeciesBatchDecoratorComparator<SpeciesBatchRowModel> getSpeciesRowComparator() {
+ TableColumnExt speciesColumn =
+ (TableColumnExt) getTable().getColumns().get(0);
+
+ SpeciesBatchDecoratorComparator<SpeciesBatchRowModel> comparator =
+ (SpeciesBatchDecoratorComparator<SpeciesBatchRowModel>) speciesColumn.getComparator();
+
+ SpeciesBatchDecorator<SpeciesBatchRowModel> decorator = getSpeciesColumnDecorator();
+
+ boolean comparatorNull = comparator == null;
+ if (comparatorNull) {
+
+ // first time coming here, add the comparator
+ comparator = (SpeciesBatchDecoratorComparator) decorator.getCurrentComparator();
+ }
+
+ if (comparatorNull) {
+
+ // affect it to colum
+ speciesColumn.setComparator(comparator);
+ }
+ return comparator;
+ }
+
+ protected SpeciesBatchDecorator<SpeciesBatchRowModel> getSpeciesColumnDecorator() {
+ TableColumnExt speciesColumn =
+ (TableColumnExt) getTable().getColumns().get(0);
+ SpeciesBatchDecorator<SpeciesBatchRowModel> decorator =
+ (SpeciesBatchDecorator<SpeciesBatchRowModel>) SpeciesBatchRowHelper.getSpeciesColumnDecorator(speciesColumn);
+ return decorator;
+ }
+
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -27,15 +27,17 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
+import fr.ifremer.shared.application.swing.computable.ComputableData;
+import fr.ifremer.shared.application.swing.tab.TabContentModel;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.AbstractTuttiBatchUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortMode;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesSortableRowModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel;
-import fr.ifremer.shared.application.swing.tab.TabContentModel;
-import fr.ifremer.shared.application.swing.computable.ComputableData;
import org.apache.commons.collections.CollectionUtils;
import java.util.List;
@@ -48,7 +50,7 @@
* @since 0.1
*/
public class SpeciesBatchUIModel extends AbstractTuttiBatchUIModel<SpeciesBatchRowModel, SpeciesBatchUIModel>
- implements TabContentModel {
+ implements TabContentModel, SpeciesSortableRowModel {
private static final long serialVersionUID = 1L;
@@ -149,6 +151,20 @@
/** @since 1.0 */
protected int leafNumber;
+ /**
+ * How to sort table.
+ *
+ * @since 3.0
+ */
+ protected SpeciesSortMode speciesSortMode;
+
+ /**
+ * Which decorator index for species column decorate.
+ *
+ * @since 3.0
+ */
+ protected int speciesDecoratorContextIndex;
+
public SpeciesBatchUIModel(EditCatchesUIModel catchesUIModel) {
super(catchesUIModel,
EditCatchesUIModel.PROPERTY_SPECIES_TOTAL_COMPUTED_WEIGHT,
@@ -442,4 +458,50 @@
}
return result;
}
+
+ //------------------------------------------------------------------------//
+ //-- SpeciesSortableRowModel --//
+ //------------------------------------------------------------------------//
+
+ @Override
+ public SpeciesSortMode getSpeciesSortMode() {
+ return speciesSortMode;
+ }
+
+ @Override
+ public void setSpeciesSortMode(SpeciesSortMode speciesSortMode) {
+ Object oldValue = getSpeciesSortMode();
+ this.speciesSortMode = speciesSortMode;
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE, oldValue, speciesSortMode);
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE_NONE, null, isSpeciesSortModeNone());
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE_ASC, null, isSpeciesSortModeAsc());
+ firePropertyChange(PROPERTY_SPECIES_SORT_MODE_DESC, null, isSpeciesSortModeDesc());
+ }
+
+ @Override
+ public boolean isSpeciesSortModeNone() {
+ return SpeciesSortMode.NONE.equals(speciesSortMode);
+ }
+
+ @Override
+ public boolean isSpeciesSortModeAsc() {
+ return SpeciesSortMode.ASC.equals(speciesSortMode);
+ }
+
+ @Override
+ public boolean isSpeciesSortModeDesc() {
+ return SpeciesSortMode.DESC.equals(speciesSortMode);
+ }
+
+ @Override
+ public int getSpeciesDecoratorContextIndex() {
+ return speciesDecoratorContextIndex;
+ }
+
+ @Override
+ public void setSpeciesDecoratorContextIndex(int speciesDecoratorContextIndex) {
+ int oldValue = getSpeciesDecoratorContextIndex();
+ this.speciesDecoratorContextIndex = speciesDecoratorContextIndex;
+ firePropertyChange(PROPERTY_SPECIES_DECORATOR_CONTEXT_INDEX, oldValue, speciesDecoratorContextIndex);
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -42,8 +42,8 @@
import fr.ifremer.tutti.ui.swing.action.CloneProtocolAction;
import fr.ifremer.tutti.ui.swing.action.EditProtocolAction;
import fr.ifremer.tutti.ui.swing.action.ImportProtocolAction;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchRowHelper;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.species.SelectSpeciesUI;
import fr.ifremer.tutti.ui.swing.util.species.SelectSpeciesUIModel;
import jaxx.runtime.SwingUtil;
@@ -299,7 +299,7 @@
EditProtocolSpeciesTableModel.SPECIES_ID);
speciesColumn.setSortable(true);
DecoratorService.SpeciesDecorator speciesDecorator = new DecoratorService.SpeciesDecorator();
- speciesColumn.putClientProperty(TuttiUIUtil.SPECIES_DECORATOR, speciesDecorator);
+ speciesColumn.putClientProperty(SpeciesBatchRowHelper.SPECIES_DECORATOR, speciesDecorator);
speciesColumn.setCellRenderer(newTableCellRender(speciesDecorator));
TableColumnExt speciesSurveyCodeColumn = addColumnToModel(columnModel,
@@ -358,7 +358,7 @@
EditProtocolSpeciesTableModel.SPECIES_ID);
speciesColumn.setSortable(true);
DecoratorService.SpeciesDecorator speciesDecorator = new DecoratorService.SpeciesDecorator();
- speciesColumn.putClientProperty(TuttiUIUtil.SPECIES_DECORATOR, speciesDecorator);
+ speciesColumn.putClientProperty(SpeciesBatchRowHelper.SPECIES_DECORATOR, speciesDecorator);
speciesColumn.setCellRenderer(newTableCellRender(speciesDecorator));
TableColumnExt speciesSurveyCodeColumn = addColumnToModel(columnModel,
@@ -716,7 +716,7 @@
// get column comparator
TuttiDecorator<Species> decorator =
- TuttiUIUtil.getSpeciesColumnDecorator(tableColumn);
+ SpeciesBatchRowHelper.getSpeciesColumnDecorator(tableColumn);
boolean comparatorNull = comparator == null;
if (comparatorNull) {
@@ -739,9 +739,10 @@
// create popup to change species decorator
- TuttiUIUtil.<EditProtocolSpeciesRowModel, EditProtocolSpeciesTableModel>installSpeciesColumnComparatorPopup(
+ SpeciesBatchRowHelper.installSpeciesColumnComparatorPopup(
table,
speciesColumn,
+ null,
_("tutti.species.refTaxCode.tip"),
_("tutti.species.name.tip")
);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2014-01-08 12:34:01 UTC (rev 1479)
@@ -24,41 +24,19 @@
* #L%
*/
-import com.google.common.base.Joiner;
-import com.google.common.collect.Lists;
import fr.ifremer.shared.application.ApplicationBusinessException;
-import fr.ifremer.shared.application.swing.table.AbstractApplicationTableModel;
import fr.ifremer.shared.application.swing.util.ApplicationUIUtil;
-import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.service.TuttiDecorator;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import jaxx.runtime.JAXXObject;
import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.SwingUtil;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.JXTable;
-import org.jdesktop.swingx.table.TableColumnExt;
-import javax.swing.ButtonGroup;
-import javax.swing.JLabel;
-import javax.swing.JPopupMenu;
-import javax.swing.JRadioButtonMenuItem;
-import javax.swing.JSeparator;
-import javax.swing.SwingUtilities;
-import javax.swing.table.JTableHeader;
-import java.awt.Point;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
import java.io.InputStream;
-import java.io.Serializable;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
-import java.util.List;
import static org.nuiton.i18n.I18n._;
@@ -70,10 +48,6 @@
*/
public final class TuttiUIUtil extends ApplicationUIUtil {
- public static final String SPECIES_DECORATOR = "decorator";
-
- public static final String SPECIES_DECORATOR_INDEX = "decoratorIndex";
-
/** Logger. */
private static final Log log = LogFactory.getLog(TuttiUIUtil.class);
@@ -135,143 +109,4 @@
}
}
- public static <E> TuttiDecorator<E> getSpeciesColumnDecorator(TableColumnExt tableColumn) {
- TuttiDecorator<E> decorator = (TuttiDecorator<E>)
- tableColumn.getClientProperty(SPECIES_DECORATOR);
- return decorator;
- }
-
- public static <R extends Serializable, T extends AbstractApplicationTableModel<R>> void installSpeciesColumnComparatorPopup(JXTable table,
- TableColumnExt speciesColumn,
- String... tips) {
-
- ButtonGroup buttonGroup = new ButtonGroup();
-
- SpeciesDecoratorListener<R, T> speciesDecoratorListener =
- new SpeciesDecoratorListener<R, T>(table, buttonGroup);
-
- TuttiDecorator<Species> decorator =
- getSpeciesColumnDecorator(speciesColumn);
-
- JPopupMenu popup = new JPopupMenu();
- popup.add(new JLabel(_("tutti.ui.change.species.decorator")));
- popup.add(new JSeparator());
-
- for (int i = 0, nbContext = decorator.getNbContext(); i < nbContext; i++) {
- String property = decorator.getProperty(i);
-
- String i18nName = "tutti.property." + property;
- speciesColumn.putClientProperty(i18nName, tips[i]);
- JRadioButtonMenuItem item = new JRadioButtonMenuItem(tips[i]);
- item.putClientProperty(TuttiUIUtil.SPECIES_DECORATOR_INDEX, i);
- item.addActionListener(speciesDecoratorListener);
- if (i == 0) {
- // select the first property (as it is the
- item.setSelected(true);
- }
- buttonGroup.add(item);
- popup.add(item);
- }
-
- // recompute the header tip using the decorator
- speciesDecoratorListener.recomputeSpeciesColumnTip();
-
- // listen when to show popup menu on cell header
- table.getTableHeader().addMouseListener(
- new ShowSpeciesDecoratorPopupListener(popup));
-
- }
-
- protected static class SpeciesDecoratorListener<R extends Serializable, T extends AbstractApplicationTableModel<R>> implements ActionListener {
-
- protected final JXTable table;
-
- protected final ButtonGroup buttonGroup;
-
- protected final TuttiDecorator<Species> decorator;
-
- protected final TableColumnExt column;
-
- public SpeciesDecoratorListener(JXTable table,
- ButtonGroup buttonGroup) {
- this.table = table;
- this.buttonGroup = buttonGroup;
- this.column = (TableColumnExt) table.getColumn(0);
- this.decorator = TuttiUIUtil.getSpeciesColumnDecorator(column);
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
-
- JRadioButtonMenuItem source = (JRadioButtonMenuItem) e.getSource();
- buttonGroup.setSelected(source.getModel(), true);
-
- Integer index =
- (Integer) source.getClientProperty(TuttiUIUtil.SPECIES_DECORATOR_INDEX);
-
- if (log.isInfoEnabled()) {
- log.info("Selected decorator context index: " + index);
- }
-
- decorator.setContextIndex(index);
-
- column.setComparator(decorator.getCurrentComparator());
-
- // recompute the header tip
- recomputeSpeciesColumnTip();
-
- T tableModel = (T) table.getModel();
-
- // keep selected rows
- List<R> rowsToReSelect = Lists.newArrayList();
- for (int rowIndex : SwingUtil.getSelectedModelRows(table)) {
- R row = tableModel.getEntry(rowIndex);
- rowsToReSelect.add(row);
- }
-
- // fire model (will reload the comparator)
- tableModel.fireTableDataChanged();
-
- // reselect rows
- for (R row : rowsToReSelect) {
- int modelRowIndex = tableModel.getRowIndex(row);
- SwingUtil.addRowSelectionInterval(table, modelRowIndex);
- }
- }
-
- public void recomputeSpeciesColumnTip() {
- List<String> tips = Lists.newArrayList();
- for (int i = 0, nbContext = decorator.getNbContext(); i < nbContext; i++) {
- String property = decorator.getProperty(i);
-
- String i18nName = "tutti.property." + property;
- String tip = (String) column.getClientProperty(i18nName);
- tips.add(tip);
- }
- String tip = Joiner.on(" - ").join(tips);
- column.setToolTipText(tip);
- }
- }
-
- protected static class ShowSpeciesDecoratorPopupListener extends MouseAdapter {
-
- private final JPopupMenu popup;
-
- public ShowSpeciesDecoratorPopupListener(JPopupMenu popup) {
- this.popup = popup;
- }
-
- @Override
- public void mouseClicked(MouseEvent e) {
- JTableHeader source = (JTableHeader) e.getSource();
- Point point = e.getPoint();
- int columnIndex = source.columnAtPoint(point);
-
- boolean rightClick = SwingUtilities.isRightMouseButton(e);
- if (columnIndex == 0 && rightClick) {
- e.consume();
- popup.show(source, e.getX(), e.getY());
- }
- }
- }
}
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2014-01-08 12:34:01 UTC (rev 1479)
@@ -54,6 +54,13 @@
tutti.caracteristicMapEditor.none.tip=
tutti.caracteristicMapEditorTable.table.header.key=
tutti.caracteristicMapEditorTable.table.header.value=
+tutti.catches.action.cancel=
+tutti.catches.sortSpecies.action.accept=
+tutti.catches.sortSpecies.action.accept.mnemonic=
+tutti.catches.sortSpecies.action.accept.tip=
+tutti.catches.sortSpecies.action.cancel.mnemonic=
+tutti.catches.sortSpecies.action.cancel.tip=
+tutti.catches.sortSpecies.title=
tutti.commentEditor.action.close.tip=
tutti.commentEditor.action.tip=
tutti.commentEditor.none.tip=
@@ -429,6 +436,14 @@
tutti.editBenthosBatch.filterBatch.mode.root=
tutti.editBenthosBatch.filterBatch.mode.root.tip=
tutti.editBenthosBatch.filterBatch.tip=
+tutti.editBenthosBatch.sortSpeciesBatch=
+tutti.editBenthosBatch.sortSpeciesBatch.tip=
+tutti.editBenthosBatch.speciesSortMode.asc=
+tutti.editBenthosBatch.speciesSortMode.asc.tip=
+tutti.editBenthosBatch.speciesSortMode.desc=
+tutti.editBenthosBatch.speciesSortMode.desc.tip=
+tutti.editBenthosBatch.speciesSortMode.none=
+tutti.editBenthosBatch.speciesSortMode.none.tip=
tutti.editBenthosBatch.split.weightNotNull.help=
tutti.editBenthosBatch.split.weightNotNull.message=
tutti.editBenthosBatch.split.weightNotNull.title=
@@ -998,6 +1013,14 @@
tutti.editSpeciesBatch.filterBatch.mode.root=
tutti.editSpeciesBatch.filterBatch.mode.root.tip=
tutti.editSpeciesBatch.filterSpeciesBatch.tip=
+tutti.editSpeciesBatch.sortSpeciesBatch=
+tutti.editSpeciesBatch.sortSpeciesBatch.tip=
+tutti.editSpeciesBatch.speciesSortMode.asc=
+tutti.editSpeciesBatch.speciesSortMode.asc.tip=
+tutti.editSpeciesBatch.speciesSortMode.desc=
+tutti.editSpeciesBatch.speciesSortMode.desc.tip=
+tutti.editSpeciesBatch.speciesSortMode.none=
+tutti.editSpeciesBatch.speciesSortMode.none.tip=
tutti.editSpeciesBatch.split.weightNotNull.help=
tutti.editSpeciesBatch.split.weightNotNull.message=
tutti.editSpeciesBatch.split.weightNotNull.title=
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-01-07 14:16:06 UTC (rev 1478)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2014-01-08 12:34:01 UTC (rev 1479)
@@ -429,6 +429,14 @@
tutti.editBenthosBatch.filterBatch.mode.root=Parents (%s)
tutti.editBenthosBatch.filterBatch.mode.root.tip=Voir uniquement les lots *parents*
tutti.editBenthosBatch.filterBatch.tip=Pour filtrer les lots
+tutti.editBenthosBatch.sortSpeciesBatch=Tri
+tutti.editBenthosBatch.sortSpeciesBatch.tip=Trier les lignes selon les espèces
+tutti.editBenthosBatch.speciesSortMode.asc=Ascendant
+tutti.editBenthosBatch.speciesSortMode.asc.tip=Utiliser l'ordre ascendant
+tutti.editBenthosBatch.speciesSortMode.desc=Descendant
+tutti.editBenthosBatch.speciesSortMode.desc.tip=Utiliser l'ordre descendant
+tutti.editBenthosBatch.speciesSortMode.none=Saisie
+tutti.editBenthosBatch.speciesSortMode.none.tip=Utiliser l'ordre de saisie
tutti.editBenthosBatch.split.weightNotNull.help=Que voulez-vous faire ? <ul><li><strong>Annuler</strong> pour ne pas catégoriser le lot et garder le poids sous-échantilloné</li><li><strong>OK</strong> pour catégoriser le lot et supprimer le poids sous-échantillonné</li></ul>.
tutti.editBenthosBatch.split.weightNotNull.message=Pour catégoriser un lot, il ne doit pas avoir de poids sous-échantillonné.
tutti.editBenthosBatch.split.weightNotNull.title=Poids sous-échantillonné non nul
@@ -998,6 +1006,14 @@
tutti.editSpeciesBatch.filterBatch.mode.root=Parents (%s)
tutti.editSpeciesBatch.filterBatch.mode.root.tip=Voir uniquement les lots *parents*
tutti.editSpeciesBatch.filterSpeciesBatch.tip=Pour filtrer les lots
+tutti.editSpeciesBatch.sortSpeciesBatch=Tri
+tutti.editSpeciesBatch.sortSpeciesBatch.tip=Trier les lignes selon les espèces
+tutti.editSpeciesBatch.speciesSortMode.asc=Ascendant
+tutti.editSpeciesBatch.speciesSortMode.asc.tip=Utiliser l'ordre ascendant
+tutti.editSpeciesBatch.speciesSortMode.desc=Descendant
+tutti.editSpeciesBatch.speciesSortMode.desc.tip=Utiliser l'ordre descendant
+tutti.editSpeciesBatch.speciesSortMode.none=Saisie
+tutti.editSpeciesBatch.speciesSortMode.none.tip=Utiliser l'ordre de saisie
tutti.editSpeciesBatch.split.weightNotNull.help=Que voulez-vous faire ? <ul><li><strong>Annuler</strong> pour ne pas catégoriser le lot et garder le poids sous-échantilloné</li><li><strong>OK</strong> pour catégoriser le lot et supprimer le poids sous-échantillonné</li></ul>.
tutti.editSpeciesBatch.split.weightNotNull.message=Pour catégoriser un lot, il ne doit pas avoir de poids sous-échantillonné
tutti.editSpeciesBatch.split.weightNotNull.title=Poids sous-échantillonné non nul
Added: trunk/tutti-ui-swing/src/main/resources/icons/action-sort.png
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-sort.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
1
0
Author: tchemit
Date: 2014-01-07 15:16:06 +0100 (Tue, 07 Jan 2014)
New Revision: 1478
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1478
Log:
utilisation mavenpom 4.5 + mise ?\195?\160 jour du site
Modified:
trunk/README.txt
trunk/pom.xml
trunk/src/site/site_fr.xml
Modified: trunk/README.txt
===================================================================
--- trunk/README.txt 2014-01-06 18:37:52 UTC (rev 1477)
+++ trunk/README.txt 2014-01-07 14:16:06 UTC (rev 1478)
@@ -30,3 +30,5 @@
+---------------------+------------+---------------------------+
+ 3.0-rc-2 + 2013.11.29 + 3.4.1 +
+---------------------+------------+---------------------------+
++ 3.0 + 2013.12.19 + 3.4.1 +
++---------------------+------------+---------------------------+
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-01-06 18:37:52 UTC (rev 1477)
+++ trunk/pom.xml 2014-01-07 14:16:06 UTC (rev 1478)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>4.3</version>
+ <version>4.5</version>
</parent>
<groupId>fr.ifremer</groupId>
@@ -149,7 +149,7 @@
<jreVersion>1.7.45</jreVersion>
<!-- Last tutti db version -->
- <dbVersion>2013.08.22</dbVersion>
+ <dbVersion>2013.12.19</dbVersion>
<!-- Last tutti report version -->
<reportVersion>2013.12.05</reportVersion>
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2014-01-06 18:37:52 UTC (rev 1477)
+++ trunk/src/site/site_fr.xml 2014-01-07 14:16:06 UTC (rev 1478)
@@ -28,7 +28,7 @@
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
- <version>1.3.0</version>
+ <version>${fluidoSkinVersion}</version>
</skin>
<custom>
@@ -60,16 +60,16 @@
<logo href="http://docutils.sourceforge.net/rst.html"
name="ReStructuredText"
- img="http://maven-site.nuiton.org/public/images/logos/restructuredtext-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/restructuredtext-logo.png"/>
<logo href="http://maven-site.nuiton.org/jrst" name="JRst"
- img="http://maven-site.nuiton.org/public/images/logos/jrst-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/jrst-logo.png"/>
<logo href="http://maven-site.nuiton.org/jaxx" name="JAXX"
- img="http://maven-site.nuiton.org/public/images/logos/jaxx-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/jaxx-logo.png"/>
<logo href="http://argouml.tigris.org/" name="ArgoUML"
- img="http://maven-site.nuiton.org/public/images/logos/argouml-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/argouml-logo.png"/>
</poweredBy>
@@ -77,11 +77,11 @@
<head>
<script type="text/javascript"
- src="http://maven-site.nuiton.org/public/js/mavenpom-site.js">
+ src="${mavenpomSiteCommonResourcesUrl}/js/mavenpom-site.js">
</script>
<link rel="stylesheet" type="text/css"
- href="http://maven-site.nuiton.org/public/css/mavenpom-site.css"/>
+ href="${mavenpomSiteCommonResourcesUrl}/css/mavenpom-site.css"/>
</head>
<links>
@@ -125,7 +125,9 @@
scmwebeditorurl='${project.scmwebeditorUrl}'
siteSourcesType='${project.siteSourcesType}'
piwikEnabled='${project.piwikEnabled}'
- piwikId='${project.piwikId}'>
+ piwikId='${project.piwikId}'
+ scmwebeditor_vmFiles=",update.html,"
+ scmwebeditor_skipDefaultFiles="true">
</div>
</footer>
</body>
1
0
06 Jan '14
Author: lkaufmann
Date: 2014-01-06 19:37:52 +0100 (Mon, 06 Jan 2014)
New Revision: 1477
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1477
Log:
Specification v0.4 : document structure change & content update
Modified:
trunk/src/conception/specifications/AllegroCampagne-Specifications.odt
trunk/src/conception/specifications/AllegroCampagne-Specifications.pdf
Modified: trunk/src/conception/specifications/AllegroCampagne-Specifications.odt
===================================================================
(Binary files differ)
Modified: trunk/src/conception/specifications/AllegroCampagne-Specifications.pdf
===================================================================
(Binary files differ)
1
0