From: <de...@us...> - 2013-01-18 18:04:33
|
Revision: 8225 http://fudaa.svn.sourceforge.net/fudaa/?rev=8225&view=rev Author: deniger Date: 2013-01-18 18:04:25 +0000 (Fri, 18 Jan 2013) Log Message: ----------- Modified Paths: -------------- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java =================================================================== --- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2013-01-18 18:03:38 UTC (rev 8224) +++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2013-01-18 18:04:25 UTC (rev 8225) @@ -60,9 +60,11 @@ @Override public void actionPerformed(final ActionEvent _e) { final ZCalqueImageRaster img = (ZCalqueImageRaster) visu_.getArbreCalqueModel().getSelectedCalque(); - final FSigImageWizardTask task = new FSigImageWizardTask(visu_.getEditor().getPanel().getArbreCalqueModel()); - task.setModelToModiy(img); - afficheWizard(task); + if (!img.getModelImage().getGeomData().isGeomModifiable()) { + final FSigImageWizardTask task = new FSigImageWizardTask(visu_.getEditor().getPanel().getArbreCalqueModel()); + task.setModelToModiy(img); + afficheWizard(task); + } } @Override @@ -70,7 +72,7 @@ final BCalque selectedCalque = visu_.getArbreCalqueModel().getSelectedCalque(); boolean enable = selectedCalque instanceof ZCalqueImageRaster; if (enable) { - enable= ((ZCalqueImageRaster) selectedCalque).getModelEditable().getGeomData().isGeomModifiable(); + enable = ((ZCalqueImageRaster) selectedCalque).getModelEditable().getGeomData().isGeomModifiable(); } super.setEnabled(enable); } Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java =================================================================== --- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java 2013-01-18 18:03:38 UTC (rev 8224) +++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java 2013-01-18 18:04:25 UTC (rev 8225) @@ -46,15 +46,18 @@ import com.memoire.bu.BuButtonLayout; import com.memoire.bu.BuPanel; import com.memoire.bu.BuVerticalLayout; +import java.awt.FlowLayout; +import javax.swing.JLabel; +import javax.swing.JPanel; /** * L'\xE9tape de calage de l'image pour le wizard d'import d'image. - * + * * @author fred deniger * @version $Id: FSigImageWizardStepCalage.java,v 1.2.6.3 2008-05-13 12:11:00 bmarchan Exp $ */ public class FSigImageWizardStepCalage extends FSigWizardDefaultPanel implements FSigWizardStepInterface, - ZCalqueClikInteractionListener { + ZCalqueClikInteractionListener { ZCalqueClickInteraction click_ = new ZCalqueClickInteraction() { @Override @@ -66,18 +69,17 @@ } }; ZCalqueClickInteraction calqueClickInteraction_; - final FSigImageWizardStepCalageLogic control_; @Override public String valideAndGetError() { return control_.valideAndGetError(); } - final ZCalqueImageRaster image_; - // ZCalqueGrille grille_; final ZEbliCalquesPanel pn_; + final JLabel lbHeight; + final JLabel lbWidth; public FSigImageWizardTableModel.Result getResult() { return control_.getResult(); @@ -89,20 +91,18 @@ final FSigImageWizardPanelController controller = new FSigImageWizardPanelController(new CtuluUIDialog(_d)); final CalqueActionInteraction acClick = new FSigImageWizardPanelController.SpecAction(FSigLib - .getS("Ajouter un point"), EbliResource.EBLI.getToolIcon("draw-add-pt"), "SAISIR", click_); + .getS("Ajouter un point"), EbliResource.EBLI.getToolIcon("draw-add-pt"), "SAISIR", click_); calqueClickInteraction_ = new ZCalqueClickInteraction(); calqueClickInteraction_.setListener(new ZCalqueClikInteractionListener() { - @Override public void pointClicked(final GrPoint _ptReel) { mouseClickedOnReal(_ptReel); } - }); // on ajoute un calque final CalqueActionInteraction acClickonTarget = new FSigImageWizardPanelController.SpecAction(FSigLib - .getS("Saisir un point r\xE9el"), null, "SAISI_REAL", calqueClickInteraction_); + .getS("Saisir un point r\xE9el"), null, "SAISI_REAL", calqueClickInteraction_); // final EbliActionInterface[] acs = new EbliActionInterface[] { acClick, acClickonTarget }; pn_ = controller.buildCalquePanel(); control_ = controller.getControl(); @@ -150,7 +150,6 @@ move.setGele(true); pn_.addCalqueInteraction(move); move.setTarget(new ZCalqueDeplacementTargetInterface() { - @Override public void paintMove(final Graphics2D _g, final int _dxEcran, final int _dyEcran, final TraceIcon _ic) { controller.getCalageCalque().paintDeplacement(_g, _dxEcran, _dyEcran, _ic); @@ -169,9 +168,16 @@ } }); final CalqueActionInteraction moveAction = new CalqueActionInteraction(FSigLib.getS("D\xE9placer un point"), - EbliResource.EBLI.getIcon("draw-move"), "MOVE", move); + EbliResource.EBLI.getIcon("draw-move"), "MOVE", move); add(control_.createEditorPanel(btNewPoint, moveAction.buildButton(EbliComponentFactory.INSTANCE)), - BuBorderLayout.EAST); + BuBorderLayout.EAST); + lbHeight = new JLabel(); + lbWidth = new JLabel(); + JPanel pnSize = new JPanel(new FlowLayout(FlowLayout.LEADING, 10, 10)); + pnSize.add(lbWidth); + pnSize.add(lbHeight); + add(pnSize, BuBorderLayout.SOUTH); + btNewPoint.setSelected(false); acClickonTarget.setSelected(false); control_.addTmpLayer(pn_); @@ -182,7 +188,6 @@ public JComponent getComponent() { return this; } - ZEbliCalquesPanel cqDest_; public void end() { @@ -194,11 +199,11 @@ @Override public String getStepText() { return FSigLib.getS("Editer les correspondances entre les coordonn\xE9es en pixels et coordonn\xE9es r\xE9elles.") - + CtuluLibString.LINE_SEP_SIMPLE - + FSigLib + + CtuluLibString.LINE_SEP_SIMPLE + + FSigLib .getS("Activer le bouton 'Ajouter un point' et cliquer sur l'image pour r\xE9cup\xE9rer les coordonn\xE9es en pixels") - + CtuluLibString.LINE_SEP_SIMPLE - + FSigLib.getS("Utiliser le bouton 'Saisir un point r\xE9el' r\xE9cup\xE9rer les coordonn\xE9es r\xE9elles"); + + CtuluLibString.LINE_SEP_SIMPLE + + FSigLib.getS("Utiliser le bouton 'Saisir un point r\xE9el' r\xE9cup\xE9rer les coordonn\xE9es r\xE9elles"); } @@ -225,6 +230,10 @@ image_.setModele(img); control_.setHImg(img.getHImg()); image_.repaint(); + lbHeight.setText(FSigLib.getS("Hauteur: {0} px", Integer.toString(_img.getImageHeight()))); + lbHeight.setToolTipText(lbHeight.getText()); + lbWidth.setText(FSigLib.getS("Largeur: {0} px", Integer.toString(_img.getImageWidth()))); + lbWidth.setToolTipText(lbHeight.getText()); } @@ -248,5 +257,4 @@ public void setRasterData(final RasterDataInterface _data) { control_.setRasterData(_data); } - } Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java =================================================================== --- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java 2013-01-18 18:03:38 UTC (rev 8224) +++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java 2013-01-18 18:04:25 UTC (rev 8225) @@ -46,37 +46,34 @@ import com.memoire.bu.BuTextField; import com.memoire.bu.BuVerticalLayout; import com.memoire.bu.BuWizardTask; +import javax.swing.JSeparator; +import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.RasterData; /** * L'etape de chargement de l'image pour le wizard d'import d'image. - * + * * @author fred deniger * @version $Id: FSigImageWizardStepImage.java,v 1.3.6.1 2008-02-22 16:28:58 bmarchan Exp $ */ public class FSigImageWizardStepImage extends FSigWizardDefaultPanel implements DocumentListener, - FSigWizardStepInterface { + FSigWizardStepInterface { static int idxForImageName; - BuButton btPrevisu_; - final BuCheckBox cbAuto_; - final CtuluImageIconFixeSize icon_ = new CtuluImageIconFixeSize(200, null); CtuluImageContainer imgReader_; boolean isLoaded_; File lastFile_; - final BuLabel lbFile_; - + final BuLabel lbHeight_; + final BuLabel lbWidth_; final BuLabel lbIcone_; - final BuLabel lbName_; final CtuluFileChooserPanel txtFile_; final BuTextField txtName_; - - + public final void setData(final RasterDataInterface _data, final String _calqueName) { isUpdatingFromModel_ = true; if (_data.getImgFile() != null) { @@ -89,6 +86,8 @@ icon_.setImg(_data.getImg()); txtName_.setText(_calqueName); lbIcone_.repaint(); + updateImageInfos(); + } public FSigImageWizardStepImage() { @@ -107,15 +106,14 @@ txtFile_ = new CtuluFileChooserPanel(); txtFile_.setFileSelectMode(JFileChooser.FILES_ONLY); final BuFileFilter imgFilter = new BuFileFilter((String[]) CtuluImageExport.FORMAT_LIST - .toArray(new String[CtuluImageExport.FORMAT_LIST.size()]), BuResource.BU.getString("Images")); + .toArray(new String[CtuluImageExport.FORMAT_LIST.size()]), BuResource.BU.getString("Images")); imgFilter.setExtensionListInDescription(false); final BuFileFilter datFilter = new BuFileFilter("tab", FSigLib.getS("Fichier TAB Mapinfo")); - txtFile_.setFilter(new BuFileFilter[] { datFilter, imgFilter }); + txtFile_.setFilter(new BuFileFilter[]{datFilter, imgFilter}); lbFile_ = new BuLabel(FSigLib.getS("L'image \xE0 charger")); data.add(lbFile_); data.add(txtFile_); txtFile_.getTf().getDocument().addDocumentListener(new DocumentListener() { - @Override public void changedUpdate(final DocumentEvent _e) { fileChanged(); @@ -130,10 +128,11 @@ public void removeUpdate(final DocumentEvent _e) { fileChanged(); } - }); add(data, BuBorderLayout.CENTER); lbIcone_ = new BuLabel(icon_); + lbHeight_ = new BuLabel(); + lbWidth_ = new BuLabel(); final BuPanel pnPrevisu = new BuPanel(); pnPrevisu.setLayout(new BuBorderLayout(1, 1, false, false)); pnPrevisu.setBorder(CtuluLibSwing.createTitleBorder(FSigLib.getS("Pr\xE9visualisation"))); @@ -141,7 +140,6 @@ btPrevisu_ = new BuButton(BuResource.BU.getIcon("rafraichir")); btPrevisu_.setText(FSigLib.getS("Pr\xE9visualiser")); btPrevisu_.addActionListener(new ActionListener() { - @Override public void actionPerformed(final ActionEvent _e) { loadImage(null, true); @@ -157,9 +155,11 @@ east.setLayout(new BuVerticalLayout(2, true, false)); east.add(btPrevisu_); east.add(cbAuto_); + east.add(new JSeparator()); + east.add(lbWidth_); + east.add(lbHeight_); pnPrevisu.add(east, BuBorderLayout.EAST); cbAuto_.addActionListener(new ActionListener() { - @Override public void actionPerformed(final ActionEvent _e) { lbIcone_.setEnabled(cbAuto_.isSelected()); @@ -167,7 +167,6 @@ loadImage(null, true); } } - }); add(pnPrevisu, BuBorderLayout.SOUTH); @@ -210,8 +209,9 @@ if (isError(an)) { return; } - if(data_==null) - data_=new RasterData(); + if (data_ == null) { + data_ = new RasterData(); + } ((RasterData) data_).setImg(imgReader_); isLoaded_ = true; } @@ -233,7 +233,6 @@ public static String getDialogTitle() { return FSigLib.getS("Chargement image"); } - RasterDataInterface data_; void loadImage(final BuWizardTask _wizard, final boolean _afficheInIcon) { @@ -243,17 +242,22 @@ dialog_.setGlassPane(buGlassPaneStop); } final Runnable finish = new Runnable() { - @Override public void run() { setErrorDefaultText(); - if (imgReader_ == null||!imgReader_.isImageLoaded()) { + lbHeight_.setText(StringUtils.EMPTY); + lbHeight_.setToolTipText(StringUtils.EMPTY); + lbWidth_.setText(StringUtils.EMPTY); + lbWidth_.setToolTipText(StringUtils.EMPTY); + if (imgReader_ == null || !imgReader_.isImageLoaded()) { String error = getErrorFileNotFound(); if (error == null) { error = FSigLib.getS("Le fichier {0} n'est pas valide.", lastFile_ == null ? "?" : lastFile_.getName()); } CtuluLibDialog.showError(dialog_, getDialogTitle(), error); valideData(); + } else { + updateImageInfos(); } final Component c = dialog_.getGlassPane(); c.setVisible(false); @@ -265,11 +269,10 @@ icon_.setImg(imgReader_); lbIcone_.repaint(); } + } - }; final Runnable r = new Runnable() { - @Override public void run() { loadFile(); @@ -278,7 +281,6 @@ }; new Thread(r).start(); } - boolean isUpdatingFromModel_; protected void fileChanged() { @@ -313,6 +315,13 @@ } } + public void updateImageInfos() { + lbHeight_.setText(FSigLib.getS("Hauteur: {0} px", Integer.toString(imgReader_.getImageHeight()))); + lbHeight_.setToolTipText(lbHeight_.getText()); + lbWidth_.setText(FSigLib.getS("Largeur: {0} px", Integer.toString(imgReader_.getImageWidth()))); + lbWidth_.setToolTipText(lbHeight_.getText()); + } + protected String getErrorEmptyName() { final String name = txtName_.getText().trim(); lbName_.setForeground(name.length() == 0 ? Color.RED : CtuluLibSwing.getDefaultLabelForegroundColor()); Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java =================================================================== --- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java 2013-01-18 18:03:38 UTC (rev 8224) +++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java 2013-01-18 18:04:25 UTC (rev 8225) @@ -136,7 +136,10 @@ model = calqueToModify_.getModelImage(); } } + boolean old=model.getGeomData().isGeomModifiable(); + model.getGeomData().setGeomModifiable(true); model.setProj(res.ptImg_, res.ptReel_, res.transform_, res.error_); + model.getGeomData().setGeomModifiable(old); if (calqueToModify_ != null) { calqueToModify_.imgChanged(); if(tree_!=null) Modified: trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt =================================================================== --- trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt 2013-01-18 18:03:38 UTC (rev 8224) +++ trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt 2013-01-18 18:04:25 UTC (rev 8225) @@ -182,3 +182,5 @@ import\xE9=imported s\xE9lection des points=Points selection {0} calque(s) s\xE9lectionn\xE9(s)={0} selected layer(s) +Hauteur\: {0} px=Height\: {0} px +Largeur\: {0} px=Width\: {0} px \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |