Sfoglia il codice sorgente

fixed dorks
more skinwork

git-svn-id: http://repo.nplusc.de/svn/iZink@201 8b19561d-0d00-6744-8ac1-9afc8f58a8aa

masterX244 11 anni fa
parent
commit
2a56bbc80d

+ 3 - 1
iZpl/src/de/nplusc/izc/iZpl/Builder.java

@@ -275,6 +275,7 @@ public class Builder extends javax.swing.JFrame
                                         if(u instanceof PlProcessorV2)
                                         {
                                            pp = (PlProcessorV2) u;
+                                           pp.rebuildCache();
                                         }
                                         else//convert()
                                         {
@@ -473,7 +474,8 @@ public class Builder extends javax.swing.JFrame
      * V0.2.1.0 editorcode for basic editor isntalled
      * V0.2.1.1 Bugfixes |new bug:  detected a regression (playcount is lost after reload)
      * V0.2.1.2 Regression fixed with playcount; detected another bug @ randomizer
-     * V0.2.1.3 Try to fix bug found in 0.2.1.2; preparations fr skinnable PlayListDataEditor
+     * V0.2.1.3 Try to fix bug found in 0.2.1.2; preparations for skinnable PlayListDataEditor
+     * V0.2.1.4 More preps for skinowrk; fixed 2 stupid bugs
      */
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private static javax.swing.JProgressBar pload;

+ 1 - 1
iZpl/src/de/nplusc/izc/iZpl/GUI/PlayListManagingBackend.java

@@ -104,7 +104,7 @@ public class PlayListManagingBackend
             if(useSkinnable)
             {
                 //TODO: skinloader...
-                playListedit=new PlayListManagingSkinnable(null);
+                playListedit=new PlayListManagingSkinnable(null,null);
             }
             else
             {

+ 112 - 3
iZpl/src/de/nplusc/izc/iZpl/GUI/PlayListManagingSkinnable.java

@@ -4,9 +4,25 @@
  */
 package de.nplusc.izc.iZpl.GUI;
 
+import com.sun.awt.AWTUtilities;
+import de.nplusc.izc.tools.UiToolz.HoloJPanel;
 import de.nplusc.izc.tools.UiToolz.IZSkinFile;
-import java.awt.HeadlessException;
+import static de.nplusc.izc.tools.UiToolz.cmdGUI.gac;
+import de.nplusc.izc.tools.baseTools.Messagers;
+import de.nplusc.izc.tools.baseTools.Tools;
+import java.awt.AlphaComposite;
+import java.awt.Color;
+import java.awt.Container;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.Polygon;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import javax.imageio.ImageIO;
 import javax.swing.JFrame;
+import javax.swing.JPanel;
 
 /**
  *
@@ -14,11 +30,104 @@ import javax.swing.JFrame;
  */
 public class PlayListManagingSkinnable extends JFrame
 {
-
-    public PlayListManagingSkinnable(IZSkinFile f) throws HeadlessException
+    
+    private String bdir;
+    private IZSkinFile sf;
+    private int h,w;
+    
+    private Image paintme,background,buttonIxxClicked,buttonIxxHilit,buttonMinClicked,ButtonMinHilit,buttonHideClicked,ButtonHideHilit,
+                    buttonReloadHilit,buttonReloadClickedmbuttonForceClicked,buttonForceHilit;
+    HoloJPanel PA;
+    //definieren die heißen zonen....
+    private Polygon buttonIxx,buttonMin,buttonHide,buttonReload,buttonForce;
+    private int tablewidth=500,tableheight=500,lineheight=15;//defaultwerte wenn exception fliegt
+    public PlayListManagingSkinnable(IZSkinFile f,String baseDir)
     {
+        bdir=baseDir;
+        HashMap ed=f.getElementData();
+        HashMap ep = f.getElementPositions();
+        sf=f;
+        //separate exceptions sind gewollt um mitzuteilen welcher key fail'd
+        try{
+            tablewidth = Integer.valueOf((String)ed.get("tablewidth"));
+        }
+        catch(NumberFormatException lickme)
+        {
+            Messagers.SingleLineMsg("Error in SkinFile", "ungültiger Wert für tablewidth");
+        }
+        try{
+            tableheight = Integer.valueOf((String)ed.get("tableheight"));
+        }
+        catch(NumberFormatException lickme)
+        {
+            Messagers.SingleLineMsg("Error in SkinFile", "ungültiger Wert für tableheight");
+        }
+        try{
+            tableheight = Integer.valueOf((String)ed.get("lineheight"));
+        }
+        catch(NumberFormatException lickme)
+        {
+            Messagers.SingleLineMsg("Error in SkinFile", "ungültiger Wert für lineheight");
+        }
+        setUndecorated(true);
+        boolean tp = AWTUtilities.isTranslucencySupported(AWTUtilities.Translucency.PERPIXEL_TRANSLUCENT);
+        if(tp)
+        {
+            AWTUtilities.setWindowOpaque(this, false);//freischalten von irregularShapes
+            //AWTUtilities.
+        }
+        background = loadImageAux((String)ed.get("backgroundlayer"));
+        paintme = loadImageAux((String)ed.get("backgroundlayer"));//background ist default deshalb doppeltgemoppelt; auf paintme wird später rumgepinselt
+        buttonIxxHilit = loadImageAux((String)ed.get("button_IXX_hilit"));
+        while(background.getHeight(null)<=0);
+        h = background.getHeight(null);
+        w = background.getWidth(null);
+        setSize(w, h);
+        PA= new HoloJPanel();
+        PA.setSize(w,h);
+        PA.setOpaque(false);
+        //int[] ixb = ep.get("button_IXX");
+        //paintme.getGraphics().drawImage(buttonIxxHilit, ixb[0], ixb[1], null);
+        PA.setdrawIMG(paintme);
+        add(PA);
+        System.out.println("skindim="+w+"|"+h);
+        Container cp = getContentPane();
+        cp.setLayout(null);
+        while(buttonIxxHilit.getHeight(null)<=0);
+    }
+    
+    
+    
+    public void tickGUI()
+    {
+        HashMap ep = sf.getElementPositions();
+        ArrayList<Integer> ixb= (ArrayList<Integer>) ep.get("button_IXX");
+        ((Graphics2D)paintme.getGraphics()).setComposite(AlphaComposite.getInstance(AlphaComposite.SRC));//WIXTIX!!!!
         
+        paintme.getGraphics().drawImage(buttonIxxHilit, ixb.get(0), ixb.get(1), null);
+        repaint();
+        System.out.println("NOP");
     }
+
+    public static final Color TransBgColor = new Color(0, 0, 0, 0);
+    
+    
+    
+    
+    private Image loadImageAux(String filename)
+    {
+        try
+        {
+            return ImageIO.read(new File(bdir+"\\"+filename));
+        }
+        catch (IOException ex)
+        {
+            ex.printStackTrace();
+        }
+        return null;
+    }
+    
+    
     
 }
 

+ 0 - 4
iZpl/src/de/nplusc/izc/iZpl/PlProcessorV2.java

@@ -8,17 +8,13 @@ import de.nplusc.izc.iZpl.Utils.PLReader;
 import com.sun.net.httpserver.Headers;
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
-import static de.nplusc.izc.iZpl.PlProcessor.failRSP;
-import de.nplusc.izc.tools.IOtools.FileTK;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Set;
-import java.util.prefs.Preferences;
 import org.yaml.snakeyaml.Yaml;
 
 /**

+ 1 - 1
iZpl/src/de/nplusc/izc/iZpl/ReInitializer.java

@@ -19,7 +19,7 @@ public class ReInitializer implements HttpHandler
     @Override
     public void handle(HttpExchange t) throws IOException
     {
-       String response = PlProcessor.failRSP;
+       String response = PlProcessorV2.failRSP;
        t.sendResponseHeaders(200, response.length());
         Headers responseHeaders = t.getResponseHeaders();
         responseHeaders.set("Content-Type", "audio/x-mpegurl");

+ 7 - 3
iZpl/src/de/nplusc/izc/iZpl/TestClass.java

@@ -4,6 +4,7 @@
  */
 package de.nplusc.izc.iZpl;
 
+import de.nplusc.izc.iZpl.GUI.PlayListManagingSkinnable;
 import de.nplusc.izc.tools.IOtools.FileTK;
 import de.nplusc.izc.tools.UiToolz.IZSkinFile;
 import java.awt.Point;
@@ -32,7 +33,9 @@ public class TestClass
               */
               
               IZSkinFile f = new Yaml().loadAs(new FileReader("T:\\icns\\iZpl\\skdev\\skindef.izmeta"), IZSkinFile.class);
-              
+             PlayListManagingSkinnable t =  new PlayListManagingSkinnable(f, "T:\\icns\\izpl\\skdev");
+             t.setVisible(true);
+             t.tickGUI();
              /* IZSkinFile f = new IZSkinFile("iZplaylist");
               HashMap<String,int[]> ep = f.getElementPositions();
               
@@ -80,6 +83,7 @@ public class TestClass
               ed.put("backgroundlayer","GuiBase_wide.png");
               ed.put("tablewidth","730");
               ed.put("tableheight","660");
+              ed.put("lineheight","15");
               ed.put("scrollbarknob","SLIDER.png");
               ed.put("button_IXX_clicked","IXX_clicked.png");
               ed.put("button_IXX_hilit","IXX_hilit.png");
@@ -94,7 +98,7 @@ public class TestClass
               //730,660
               
               
-              FileTK.writeFile(new Yaml().dump(f), "T:\\icns\\iZpl\\skdev\\skindef.izmeta");*/
+              FileTK.writeFile(new Yaml().dump(f), "T:\\icns\\iZpl\\skdev\\skindef.izmeta");/**/
               
               //System.out.println();
               /**
@@ -152,7 +156,7 @@ public class TestClass
               //force_point5=0,145
               //force_point6=0,50
         }
-        catch (FileNotFoundException ex)
+        catch (Exception ex)
         {
             ex.printStackTrace();
         }