Changeset 32
- Timestamp:
- 10/09/07 11:37:25 (1 year ago)
- Files:
-
- trunk/README.TXT (modified) (1 diff)
- trunk/src/vlcskineditor/Item.java (modified) (1 diff)
- trunk/src/vlcskineditor/Items/Anchor.java (modified) (1 diff)
- trunk/src/vlcskineditor/Items/Button.java (modified) (1 diff)
- trunk/src/vlcskineditor/Items/Checkbox.java (modified) (1 diff)
- trunk/src/vlcskineditor/Items/Group.java (modified) (4 diffs)
- trunk/src/vlcskineditor/Items/Image.java (modified) (1 diff)
- trunk/src/vlcskineditor/Items/Panel.java (modified) (4 diffs)
- trunk/src/vlcskineditor/Items/Playlist.java (modified) (1 diff)
- trunk/src/vlcskineditor/Items/Playtree.java (modified) (3 diffs)
- trunk/src/vlcskineditor/Items/Slider.java (modified) (3 diffs)
- trunk/src/vlcskineditor/Layout.java (modified) (3 diffs)
- trunk/src/vlcskineditor/Main.java (modified) (13 diffs)
- trunk/src/vlcskineditor/Resource.java (modified) (1 diff)
- trunk/src/vlcskineditor/Resources/Bitmap.java (modified) (4 diffs)
- trunk/src/vlcskineditor/Resources/Font.java (modified) (2 diffs)
- trunk/src/vlcskineditor/Resources/SubBitmap.java (modified) (1 diff)
- trunk/src/vlcskineditor/Skin.java (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/README.TXT
r27 r32 1 VLC Skin Editor release 0. 3.5b1 VLC Skin Editor release 0.4.0a 2 2 ----------------------------------------------------------- 3 3 Changelog: 4 4 ----------------------------------------------------------- 5 0.4.0a - Items can be positioned with the mouse 6 - Trees don't collapse anymore completely when an 7 element in it is updated, they automatically 8 expand the path to the updated item and select it 5 9 0.3.5b - NullPointerException fix for Playtree rendering 6 10 - VLT files can be imported trunk/src/vlcskineditor/Item.java
r28 r32 85 85 } 86 86 /** If an item contains a subitem of the given id the list containing the subitem is returned **/ 87 public java.util.List<Item> getParentOf(String id_) { 87 public java.util.List<Item> getParentListOf(String id_) { 88 return null; 89 } 90 /** If an item contains a subitem of the given id the itemis returned **/ 91 public Item getParentOf(String id_) { 88 92 return null; 89 93 } trunk/src/vlcskineditor/Items/Anchor.java
r28 r32 75 75 range=r_; 76 76 s.updateItems(); 77 s.expandItem(id); 77 78 } 78 79 public void showOptions() { trunk/src/vlcskineditor/Items/Button.java
r28 r32 92 92 93 93 s.updateItems(); 94 s.expandItem(id); 94 95 } 95 96 public void showOptions() { trunk/src/vlcskineditor/Items/Checkbox.java
r28 r32 117 117 state = state_tf.getText(); 118 118 119 s.updateItems(); 119 s.updateItems(); 120 s.expandItem(id); 120 121 } 121 122 public void showOptions() { trunk/src/vlcskineditor/Items/Group.java
r28 r32 103 103 s=s_; 104 104 id = "Unnamed group #"+s.getNewId(); 105 showOptions(); 106 for(Item i:items) { 107 i.setOffset(x,y); 108 } 105 showOptions(); 106 s.updateItems(); 107 s.expandItem(id); 109 108 } 110 109 public void update(String id_, int x_, int y_) { … … 116 115 } 117 116 s.updateItems(); 117 s.expandItem(id); 118 118 } 119 119 public void showOptions() { … … 242 242 return null; 243 243 } 244 public java.util.List<Item> getParent Of(String id_) {244 public java.util.List<Item> getParentListOf(String id_) { 245 245 for(int x=0;x<items.size();x++) { 246 246 Item i = items.get(x); 247 if(i.id.equals(id_)) { 248 System.out.println(id+": I is parent of "+id_); 247 if(i.id.equals(id_)) { 249 248 return items; 250 249 } 251 250 if (i.type.equals("Group")||i.type.equals("Panel")) { 252 java.util.List<Item> p = i.getParent Of(id_);251 java.util.List<Item> p = i.getParentListOf(id_); 253 252 if (p!=null) return p; 254 253 } … … 256 255 return null; 257 256 } 257 public Item getParentOf(String id_) { 258 for(int x=0;x<items.size();x++) { 259 Item i = items.get(x); 260 if(i.id.equals(id_)) { 261 return this; 262 } 263 Item it = i.getParentOf(id_); 264 if (it!=null) return it; 265 } 266 return null; 267 } 258 268 } trunk/src/vlcskineditor/Items/Image.java
r28 r32 88 88 action2 = action2_tf.getText(); 89 89 90 s.updateItems(); 90 s.updateItems(); 91 s.expandItem(id); 91 92 } 92 93 public void showOptions() { trunk/src/vlcskineditor/Items/Panel.java
r28 r32 117 117 id = "Unnamed panel #"+s.getNewId(); 118 118 showOptions(); 119 for(Item i:items) { 120 i.setOffset(x,y); 121 } 119 s.updateItems(); 120 s.expandItem(id); 122 121 } 123 122 public void update() { … … 136 135 137 136 s.updateItems(); 137 s.expandItem(id); 138 138 for(Item i:items) { 139 139 i.setOffset(x,y); … … 347 347 return null; 348 348 } 349 public java.util.List<Item> getParent Of(String id_) {349 public java.util.List<Item> getParentListOf(String id_) { 350 350 for(int x=0;x<items.size();x++) { 351 351 Item i = items.get(x); 352 if(i.id.equals(id_)) { 353 System.out.println(id+": I is parent of "+id_); 352 if(i.id.equals(id_)) { 354 353 return items; 355 354 } 356 355 if (i.type.equals("Group")||i.type.equals("Panel")) { 357 java.util.List<Item> p = i.getParent Of(id_);356 java.util.List<Item> p = i.getParentListOf(id_); 358 357 if (p!=null) return p; 359 358 } … … 361 360 return null; 362 361 } 362 public Item getParentOf(String id_) { 363 for(int x=0;x<items.size();x++) { 364 Item i = items.get(x); 365 if(i.id.equals(id_)) { 366 return this; 367 } 368 Item it = i.getParentOf(id_); 369 if (it!=null) return it; 370 } 371 return null; 372 } 363 373 } trunk/src/vlcskineditor/Items/Playlist.java
r19 r32 31 31 * Playlist item 32 32 * @author Daniel Dreibrodt 33 * @Deprecated All Playlists are automatically converted to flat playtrees 33 34 */ 34 public class Playlist extends Item{35 @Deprecated public class Playlist extends Item{ 35 36 36 37 /** Creates a new instance of Playlist */ trunk/src/vlcskineditor/Items/Playtree.java
r28 r32 130 130 showOptions(); 131 131 s.updateItems(); 132 s.expandItem(id); 132 133 } 133 134 public void update() { … … 155 156 bgcolor2 = bgcolor2_tf.getText(); 156 157 flat = (Boolean)flat_cb.getSelectedItem(); 158 159 s.updateItems(); 160 s.expandItem(id); 157 161 } 158 162 public void showOptions() { … … 655 659 else return slider.getItem(id_); 656 660 } 661 public Item getParentOf(String id_) { 662 if(slider!=null) { 663 if(slider.id.equals(id_)) return this; 664 else return slider.getParentOf(id_); 665 } 666 else return null; 667 } 657 668 } trunk/src/vlcskineditor/Items/Slider.java
r28 r32 126 126 id = "Unnamed slider #"+s.getNewId(); 127 127 showOptions(); 128 s.updateItems(); 129 s.expandItem(id); 128 130 } 129 131 public Slider(Skin s_, boolean ipt) { … … 153 155 tooltiptext = tooltiptext_tf.getText(); 154 156 155 s.updateItems(); 157 s.updateItems(); 158 s.expandItem(id); 156 159 } 157 160 public void showOptions() { … … 481 484 else return null; 482 485 } 486 public Item getParentOf(String id_) { 487 if(sbg!=null) { 488 if(sbg.id.equals(id_)) return this; 489 else return null; 490 } 491 else return null; 492 } 483 493 } trunk/src/vlcskineditor/Layout.java
r19 r32 151 151 maxheight=maxh_; 152 152 s.updateWindows(); 153 s.expandLayout(id); 153 154 } 154 155 public void showOptions() { … … 319 320 return null; 320 321 } 321 public java.util.List<Item> getParent Of(String id_) {322 public java.util.List<Item> getParentListOf(String id_) { 322 323 for(int x=0;x<items.size();x++) { 323 324 Item i = items.get(x); 324 if(i.id.equals(id_)) { 325 System.out.println(id+": I is parent of "+id_); 325 if(i.id.equals(id_)) { 326 326 return items; 327 327 } 328 328 if (i.type.equals("Group")||i.type.equals("Panel")) { 329 java.util.List<Item> p = i.getParent Of(id_);329 java.util.List<Item> p = i.getParentListOf(id_); 330 330 if (p!=null) return p; 331 331 } … … 333 333 return null; 334 334 } 335 public Item getParentOf(String id_) { 336 for(int x=0;x<items.size();x++) { 337 Item i = items.get(x); 338 if(i.id.equals(id_)) { 339 return null; 340 } 341 Item it = i.getParentOf(id_); 342 if (it!=null) return it; 343 } 344 return null; 345 } 335 346 } trunk/src/vlcskineditor/Main.java
r29 r32 922 922 w.layouts.set(index,w.layouts.set(index-1,l)); 923 923 s.updateWindows(); 924 s.expandLayout(l.id); 924 925 } 925 926 else if(e.getSource().equals(win_layout_down)) { … … 931 932 w.layouts.set(index,w.layouts.set(index+1,l)); 932 933 s.updateWindows(); 934 s.expandLayout(l.id); 933 935 } 934 936 //</editor-fold> … … 993 995 Item i = s.getItem(selected_item); 994 996 if(i==null) return; 995 java.util.List<Item> l = s.getParentOf(selected_item); 997 java.util.List<Item> l = s.getParentListOf(selected_item); 998 if(l==null) return; 996 999 int index = l.indexOf(i); 997 1000 if(index<=0) return; 998 1001 l.set(index,l.set(index-1,i)); 999 s.updateItems(); 1002 s.updateItems(); 1003 s.expandItem(selected_item); 1000 1004 } 1001 1005 else if(e.getSource().equals(items_down)) { 1002 1006 Item i = s.getItem(selected_item); 1003 1007 if(i==null) return; 1004 java.util.List<Item> l = s.getParent Of(selected_item);1008 java.util.List<Item> l = s.getParentListOf(selected_item); 1005 1009 int index = l.indexOf(i); 1006 1010 if(index>=l.size()-1) return; 1007 1011 l.set(index,l.set(index+1,i)); 1008 s.updateItems(); 1012 s.updateItems(); 1013 s.expandItem(selected_item); 1009 1014 } 1010 1015 //</editor-fold> … … 1020 1025 else if(e.getSource().equals(items_add_pu_anchor)) { 1021 1026 java.util.List<Item> i; 1022 if (selected_item!=null ) i = s.getParent Of(selected_item);1027 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1023 1028 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1024 1029 i.add(new Anchor(s)); … … 1026 1031 else if(e.getSource().equals(items_add_pu_button)) { 1027 1032 java.util.List<Item> i; 1028 if (selected_item!=null ) i = s.getParent Of(selected_item);1033 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1029 1034 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1030 1035 i.add(new vlcskineditor.Items.Button(s)); … … 1032 1037 else if(e.getSource().equals(items_add_pu_checkbox)) { 1033 1038 java.util.List<Item> i; 1034 if (selected_item!=null ) i = s.getParent Of(selected_item);1039 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1035 1040 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1036 1041 i.add(new vlcskineditor.Items.Checkbox(s)); … … 1038 1043 else if(e.getSource().equals(items_add_pu_panel)) { 1039 1044 java.util.List<Item> i; 1040 if (selected_item!=null ) i = s.getParent Of(selected_item);1045 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1041 1046 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1042 1047 i.add(new vlcskineditor.Items.Panel(s)); … … 1044 1049 else if(e.getSource().equals(items_add_pu_image)) { 1045 1050 java.util.List<Item> i; 1046 if (selected_item!=null ) i = s.getParent Of(selected_item);1051 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1047 1052 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1048 1053 i.add(new vlcskineditor.Items.Image(s)); … … 1050 1055 else if(e.getSource().equals(items_add_pu_playtree)) { 1051 1056 java.util.List<Item> i; 1052 if (selected_item!=null ) i = s.getParent Of(selected_item);1057 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1053 1058 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1054 1059 i.add(new Playtree(s)); … … 1056 1061 else if(e.getSource().equals(items_add_pu_slider)) { 1057 1062 java.util.List<Item> i; 1058 if (selected_item!=null ) i = s.getParent Of(selected_item);1063 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1059 1064 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1060 1065 i.add(new Slider(s)); … … 1062 1067 else if(e.getSource().equals(items_add_pu_text)) { 1063 1068 java.util.List<Item> i; 1064 if (selected_item!=null ) i = s.getParent Of(selected_item);1069 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1065 1070 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1066 1071 i.add(new Text(s)); … … 1068 1073 else if(e.getSource().equals(items_add_pu_video)) { 1069 1074 java.util.List<Item> i; 1070 if (selected_item!=null ) i = s.getParent Of(selected_item);1075 if (selected_item!=null ) i = s.getParentListOf(selected_item); 1071 1076 else i = s.getWindow(selected_window).getLayout(selected_layout).items; 1072 1077 i.add(new Video(s)); … … 1112 1117 else if(e.getSource().equals(items_del)) { 1113 1118 if(selected_item!=null) { 1114 java.util.List<Item> p = s.getParent Of(selected_item);1119 java.util.List<Item> p = s.getParentListOf(selected_item); 1115 1120 if(p!=null) { 1116 1121 Object[] options= {"Yes","No"}; trunk/src/vlcskineditor/Resource.java
r17 r32 44 44 /** Creates a DefaultMutableTreeNode to be displayed in the resources tree */ 45 45 public abstract DefaultMutableTreeNode getTreeNode(); 46 /** If an Resource does contain another Resource of the given id (e.g. a SubBitmap) the containing Resource is returned **/ 47 public Resource getParentOf(String id_) { 48 return null; 49 } 46 50 } trunk/src/vlcskineditor/Resources/Bitmap.java
r25 r32 96 96 id = f_.getName().substring(0,f_.getName().lastIndexOf(".")); 97 97 file = f_.getPath().replace(s.skinfolder,""); 98 s.updateResources(); 98 s.updateResources(); 99 99 update(); 100 100 } … … 105 105 file = ""; 106 106 s.updateResources(); 107 s.expandResource(id); 107 108 showOptions(); 108 109 } … … 142 143 id=id_; 143 144 s.updateResources(); 145 s.expandResource(id); 144 146 } 145 147 update(); … … 323 325 return node; 324 326 } 325 327 public Resource getParentOf(String id_) { 328 for(SubBitmap sbmp:SubBitmaps) { 329 if(sbmp.id.equals(id_)) return this; 330 } 331 return null; 332 } 326 333 } trunk/src/vlcskineditor/Resources/Font.java
r28 r32 142 142 file=""; 143 143 s.updateResources(); 144 s.expandResource(id); 144 145 showOptions(); 145 146 } … … 147 148 type="Font"; 148 149 file=file_tf.getText(); 149 size=Integer.parseInt(size_tf.getText()); 150 s.updateResources(); 150 size=Integer.parseInt(size_tf.getText()); 151 151 if(!id_tf.getText().equals(id)) { 152 152 id=id_tf.getText(); 153 153 s.updateResources(); 154 s.expandResource(id); 154 155 } 155 156 try { trunk/src/vlcskineditor/Resources/SubBitmap.java
r25 r32 75 75 image = parent.getSubimage(x,y,width,height); 76 76 s.updateResources(); 77 s.expandResource(id); 77 78 } 78 79 public void update(BufferedImage parent_) { trunk/src/vlcskineditor/Skin.java
r28 r32 450 450 } 451 451 /** Returns the parent element that contains the item of the given id **/ 452 public java.util.List<Item> getParent Of(String id_) {453 return active_layout.getParent Of(id_);452 public java.util.List<Item> getParentListOf(String id_) { 453 return active_layout.getParentListOf(id_); 454 454 } 455 455 /** Returns the list of the given Group/Panel that contains the items **/ … … 559 559 } 560 560 /** Recreates the resource hierarchies **/ 561 public void updateResources() { 562 m.res_tree_model.setRoot(getResourcesTree()); 561 public void updateResources() { 562 m.res_tree_model.setRoot(getResourcesTree()); 563 563 m.saved=false; 564 } 565 /** Make an Resource of the given id visible in the tree (expand the TreePath) **/ 566 public void expandResource(String id) { 567 Resource r = getResource(id); 568 if(r==null) return; 569 if(r.type.equals("Bitmap")) { 570 TreePath tp = findInTree(m.res_tree,"Root: Bitmaps"); 571 m.res_tree.expandPath(tp); 572 } 573 else if(r.type.equals("Font")) { 574 TreePath tp = findInTree(m.res_tree,"Root: Fonts"); 575 m.res_tree.expandPath(tp); 576 } 577 else { 578 System.err.println("Resource of the given id is neither a Font nor a Bitmap its a "+r.type); 579 return; 580 } 581 java.util.List<String> parents = new ArrayList<String>(); 582 583 Resource pr = r; 584 while(pr!=null) { 585 for(Resource res:resources) { 586 pr = res.getParentOf(r.id); 587 if(pr!=null) { 588 parents.add(pr.id); 589 break; 590 } 591 } 592 } 593 for(int i=parents.size()-1;i>=0;i--) { 594 TreePath tp = findInTree(m.res_tree,parents.get(i)); 595 if(tp==null) { 596 System.err.println("Could not find Parent: "+parents.get(i)); 597 return; 598 } 599 m.res_tree.expandPath(tp); 600 TreePath stp = findInTree(m.res_tree,id); 601 if(stp==null) return; 602 m.res_tree.setSelectionPath(stp); 603 } 604 } 605 /** Make a Layout of the given id visible **/ 606 public void expandLayout(String id) { 607 TreePath wtp = findInTree(m.win_tree,active_window.id); 608 if(wtp==null) return; 609 m.win_tree.expandPath(wtp); 610 611 TreePath ltp = findInTree(m.win_tree,id); 612 if(ltp==null) return; 613 m.win_tree.setSelectionPath(ltp); 564 614 } 565 615 /** Recreates the window hierarchies **/ … … 569 619 } 570 620 /** Recreates the item hierarchies **/ 571 public void updateItems() { 621 public void updateItems() { 572 622 m.items_tree_model.setRoot(getItemsTree()); 573 623 m.saved=false; 574 } 575 /** Redraws the preview window (deprecated already before it was used) 576 * @Deprecated useless! Preview is now planned to be updated automatically every 1000/25 ms 577 **/ 578 @Deprecated public void updatePreview() { 579 /**empty*/ 624 } 625 /** Make an item of the given id visible in the tree (expand the TreePath) **/ 626 public void expandItem(String id) { 627 java.util.List<String> parents = new ArrayList<String>(); 628 Item p = getItem(id); 629 while((p=active_layout.getParentOf(p.id))!=null) { 630 parents.add(p.id); 631 } 632 for(int i=parents.size()-1;i>=0;i--) { 633 TreePath tp = findInTree(m.items_tree,parents.get(i)); 634 if(tp==null) { 635 System.err.println("Could not find Parent: "+parents.get(i)); 636 return; 637 } 638 m.items_tree.expandPath(tp); 639 TreePath stp = findInTree(m.items_tree,id); 640 if(stp==null) return; 641 m.items_tree.setSelectionPath(stp); 642 } 643 } 644 /** Finds the first occurence of id in the first expanded tree in the given JTree**/ 645 public TreePath findInTree(JTree jt, String id) { 646 int max = jt.getRowCount(); 647 int row = 0; 648 do { 649 TreePath path = jt.getPathForRow(row); 650 String text = path.getLastPathComponent().toString(); 651 if (text.toUpperCase().indexOf(id.toUpperCase())!=-1) return path; 652 row = (row + 1 + max) % max; 653 } while (row != 0); 654 return null; 580 655 } 581 656 /** Updates everything **/ … … 583 658 updateResources(); 584 659 updateWindows(); 585 updateItems(); 586 updatePreview(); 660 updateItems(); 587 661 m.saved=false; 588 662 }
