Changeset 6972
- Timestamp:
- Sep 19, 2010, 11:40:53 PM (14 years ago)
- Location:
- extensions/jiwigo/trunk/src/main
- Files:
-
- 5 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/dao/ImageDao.java
r6968 r6972 63 63 * cache 64 64 */ 65 private HashMap<Integer, ArrayList<Image>> cache;65 private HashMap<Integer, List<Image>> cache; 66 66 67 67 /** … … 74 74 */ 75 75 private ImageDao() { 76 cache = new HashMap<Integer, ArrayList<Image>>();76 cache = new HashMap<Integer, List<Image>>(); 77 77 } 78 78 … … 112 112 } 113 113 Element element = doc.getRootElement().getChild("images"); 114 List<Element> listElement = (List<Element>) element.getChildren("image"); 115 ArrayList<Image> images = new ArrayList<Image>(); 116 for (Element im : listElement) { 117 Image myImage = new Image(); 118 myImage.setMiniature(im.getAttributeValue("tn_url")); 119 myImage.setUrl(im.getAttributeValue("element_url")); 120 myImage.setWidth(Integer.valueOf(im.getAttributeValue("width"))); 121 myImage.setHeight(Integer.valueOf(im.getAttributeValue("height"))); 122 myImage.setFile(im.getAttributeValue("file")); 123 myImage.setVue(Integer.valueOf(im.getAttributeValue("hit"))); 124 myImage.setIdentifiant(Integer.valueOf(im.getAttributeValue("id"))); 125 myImage.setName(im.getChildText("name")); 126 if (myImage.getName() == null) { 127 myImage.setName(myImage.getFile()); 128 } 129 images.add(myImage); 130 131 } 114 List<Image> images = getImagesFromElement(element); 132 115 cache.remove(categoryId); 133 116 cache.put(categoryId, images); … … 217 200 } 218 201 202 /** 203 * parse an element to find images 204 * @param element the element to parse 205 * @return the list of images 206 */ 207 private List<Image> getImagesFromElement(Element element) { 208 List<Element> listElement = (List<Element>) element.getChildren("image"); 209 ArrayList<Image> images = new ArrayList<Image>(); 210 for (Element im : listElement) { 211 Image myImage = new Image(); 212 myImage.setMiniature(im.getAttributeValue("tn_url")); 213 myImage.setUrl(im.getAttributeValue("element_url")); 214 myImage.setWidth(Integer.valueOf(im.getAttributeValue("width"))); 215 myImage.setHeight(Integer.valueOf(im.getAttributeValue("height"))); 216 myImage.setFile(im.getAttributeValue("file")); 217 myImage.setVue(Integer.valueOf(im.getAttributeValue("hit"))); 218 myImage.setIdentifiant(Integer.valueOf(im.getAttributeValue("id"))); 219 myImage.setName(im.getChildText("name")); 220 if (myImage.getName() == null) { 221 myImage.setName(myImage.getFile()); 222 } 223 images.add(myImage); 224 225 } 226 return images; 227 } 228 229 /** 230 * Search images 231 * @param searchString the string to search 232 * @return the list of images matching the string 233 * @throws IOException 234 */ 235 public List<Image> search(String searchString) throws IOException { 236 Document doc = Main.sessionManager.executerReturnDocument(MethodsEnum.SEARCH.getLabel(), "query", searchString); 237 LOG.debug(doc); 238 Element element = doc.getRootElement().getChild("images"); 239 return getImagesFromElement(element); 240 241 } 242 219 243 private void suppressionFichierTemporaires() { 220 244 File file = new File(System.getProperty("java.io.tmpdir") + "/originale.jpg"); -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/dao/TagDao.java
r6968 r6972 77 77 */ 78 78 public List<Tag> lister() throws IOException { 79 Document doc = Main.sessionManager.executerReturnDocument(MethodsEnum. LISTER_TAGS.getLabel());79 Document doc = Main.sessionManager.executerReturnDocument(MethodsEnum.TAGS_ADMIN_LIST.getLabel()); 80 80 // System.out.println(Outil.documentToString(doc)); 81 81 return getTagsFromDocument(doc.getRootElement().getChild("tags")); -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/service/ImageService.java
r6968 r6972 120 120 } 121 121 122 /** 123 * Add tags to an existing image 124 * @param image the image 125 * @param tagId the ids of the tags 126 * @return true if successful 127 * @throws IOException 128 */ 122 129 public boolean addTags(Image image, String tagId) throws IOException { 123 130 return ImageDao.getInstance().addTags(image.getIdentifiant(), tagId); 131 } 132 133 /** 134 * Search images from a string 135 * @param queryString the string 136 * @return images matching the string 137 * @throws IOException 138 */ 139 public List<Image> search(String queryString) throws IOException { 140 return ImageDao.getInstance().search(queryString); 124 141 } 125 142 -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/enumeration/MethodsEnum.java
r6968 r6972 39 39 "pwg.images.getInfo"), AJOUTER_CATEGORIE("pwg.categories.add"), AJOUTER_COMMENTAIRE("pwg.images.addComment"), LISTER_TAGS( 40 40 "pwg.tags.getList"), TAGS_ADMIN_LIST("pwg.tags.getAdminList"), ADD_TAG("pwg.tags.add"), SET_INFO( 41 "pwg.images.setInfo") ;41 "pwg.images.setInfo"), SEARCH("pwg.images.search"); 42 42 43 43 protected String label; -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/MainFrame.java
r6958 r6972 6 6 import java.awt.event.ActionEvent; 7 7 import java.awt.event.ActionListener; 8 import java.awt.event.KeyEvent; 9 import java.awt.event.KeyListener; 8 10 import java.util.HashMap; 9 11 … … 22 24 import fr.mael.jiwigo.transverse.util.Messages; 23 25 import fr.mael.jiwigo.transverse.util.Outil; 26 import fr.mael.jiwigo.ui.field.HintTextField; 24 27 import fr.mael.jiwigo.ui.mainframe.tab.JTabbedPaneWithCloseIcons; 25 28 … … 53 56 * Frame principale 54 57 */ 55 public class MainFrame extends JFrame implements ActionListener {58 public class MainFrame extends JFrame implements ActionListener, KeyListener { 56 59 /** 57 60 * Logger … … 106 109 107 110 private HashMap<Integer, Integer> mapsIdPos = new HashMap<Integer, Integer>(); 111 112 private HintTextField fieldSearch; 108 113 109 114 /** … … 129 134 categoriesTree = new CategoriesTree(); 130 135 splitPane.setLeftComponent(categoriesTree); 131 // imagesPanel = new ThumbnailCategoryPanel(null);132 // reduceSizeOfComponent(imagesPanel);133 // scrollPaneImagesPanel = new JScrollPane(imagesPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,134 // JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);135 // scrollPaneImagesPanel.setPreferredSize(new Dimension(900, 600));136 136 137 137 tabbedPane = new JTabbedPaneWithCloseIcons(); 138 // tabbedPane.add(scrollPaneImagesPanel);139 138 splitPane.setRightComponent(tabbedPane); 140 139 141 140 this.add(splitPane, BorderLayout.CENTER); 141 JPanel panelBas = new JPanel(new BorderLayout()); 142 142 JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); 143 143 progressBar = new JProgressBar(0, 100); 144 144 panel.add(progressBar); 145 145 panel.add(labelMessage); 146 panelBas.add(panel, BorderLayout.WEST); 147 148 fieldSearch = new HintTextField(Messages.getMessage("mainFrame_recherche")); 149 fieldSearch.setPreferredSize(new Dimension(150, 25)); 150 fieldSearch.addKeyListener(this); 151 panelBas.add(fieldSearch, BorderLayout.EAST); 146 152 147 153 jMenuEdition = new JMenu(Messages.getMessage("mainFrame_editionMenu")); … … 152 158 153 159 this.setJMenuBar(jMenuBar); 154 this.add(panel, BorderLayout.SOUTH); 155 // this.pack(); 160 this.add(panelBas, BorderLayout.SOUTH); 156 161 this.setSize(900, 600); 157 162 this.setLocationRelativeTo(null); … … 160 165 } 161 166 162 public void addTabb( ThumbnailCategoryPanel panel) {163 JScrollPane scrollPaneImagesPanel = new JScrollPane( panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,167 public void addTabb(IThumbnailPanel panel) { 168 JScrollPane scrollPaneImagesPanel = new JScrollPane((JPanel) panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, 164 169 JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 165 170 scrollPaneImagesPanel.setPreferredSize(new Dimension(900, 600)); 166 171 boolean found = false; 172 boolean isSearch = false; 173 if (panel instanceof ThumbnailSearchPanel) { 174 isSearch = true; 175 } 167 176 for (int i = 0; i < tabbedPane.getTabCount(); i++) { 168 177 JScrollPane scroll = (JScrollPane) tabbedPane.getComponentAt(i); 169 ThumbnailCategoryPanel thumbPan = (ThumbnailCategoryPanel) scroll.getViewport().getComponents()[0];178 IThumbnailPanel thumbPan = (IThumbnailPanel) scroll.getViewport().getComponents()[0]; 170 179 if (thumbPan.getCategory().getIdentifiant().equals(panel.getCategory().getIdentifiant())) { 171 tabbedPane.setSelectedIndex(i); 172 found = true; 173 break; 180 //only if it's not for a re 181 if (!(panel instanceof ThumbnailSearchPanel)) { 182 tabbedPane.setSelectedIndex(i); 183 found = true; 184 break; 185 } 174 186 } 175 187 } 176 if (!found) { 188 //if it's not for a research, the title of the tab 189 //is the name of the category 190 if (!found && !isSearch) { 177 191 tabbedPane.addTab(panel.getCategory().getNom(), scrollPaneImagesPanel, new ImageIcon(Outil 178 192 .getURL("fr/mael/jiwigo/img/closetab.png"))); 179 } 180 181 // if (mapsIdPos.get(panel.getCategory().getIdentifiant()) == null) { 182 // tabbedPane.addTab(panel.getCategory().getNom(), scrollPaneImagesPanel); 183 // mapsIdPos.put(panel.getCategory().getIdentifiant(), tabbedPane.getTabCount() - 1); 184 // } else { 185 // tabbedPane.setSelectedIndex(mapsIdPos.get(panel.getCategory().getIdentifiant())); 186 // } 193 //if it's for a research, the title of the tab 194 //if the query string 195 } else if (!found && isSearch) { 196 String queryString = ((ThumbnailSearchPanel) panel).getQueryString(); 197 tabbedPane.addTab(Messages.getMessage("mainFrame_search") + queryString, scrollPaneImagesPanel, 198 new ImageIcon(Outil.getURL("fr/mael/jiwigo/img/closetab.png"))); 199 } 187 200 188 201 } … … 237 250 } 238 251 252 @Override 253 public void keyPressed(KeyEvent paramKeyEvent) { 254 if (paramKeyEvent.getKeyCode() == KeyEvent.VK_ENTER) { 255 String queryString = fieldSearch.getText(); 256 ThumbnailSearchPanel searchPanel = new ThumbnailSearchPanel(queryString); 257 addTabb(searchPanel); 258 } 259 } 260 261 @Override 262 public void keyReleased(KeyEvent paramKeyEvent) { 263 } 264 265 @Override 266 public void keyTyped(KeyEvent paramKeyEvent) { 267 } 268 239 269 } -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailCategoryPanel.java
r6965 r6972 45 45 * Classe qui affiche toutes les miniatures d'une catégorie 46 46 */ 47 public class ThumbnailCategoryPanel extends JPanel {47 public class ThumbnailCategoryPanel extends JPanel implements IThumbnailPanel { 48 48 /** 49 49 * Logger -
extensions/jiwigo/trunk/src/main/resources/fr/mael/jiwigo/trad/messages.properties
r6968 r6972 21 21 mainFrame_addMetadata=Adding metadata for 22 22 mainFrame_sendingFiles=Sending files for 23 mainFrame_recherche=Search... 24 mainFrame_search=Research for 23 25 24 26 ##################################################### -
extensions/jiwigo/trunk/src/main/resources/fr/mael/jiwigo/trad/messages_en.properties
r6968 r6972 21 21 mainFrame_addMetadata=Adding metadata for 22 22 mainFrame_sendingFiles=Sending files for 23 mainFrame_recherche=Search... 24 mainFrame_search=Research for 23 25 24 26 ##################################################### -
extensions/jiwigo/trunk/src/main/resources/fr/mael/jiwigo/trad/messages_fr.properties
r6968 r6972 21 21 mainFrame_addMetadata=Ajout des métadonnées pour 22 22 mainFrame_sendingFiles=Envoi des fichiers pour 23 mainFrame_recherche=Recherche... 24 mainFrame_search=Recherche de 23 25 24 26 #####################################################
Note: See TracChangeset
for help on using the changeset viewer.