Field

Changeset 140:44f93e6d9f2d

Show
Ignore:
Timestamp:
08/01/2008 11:49:34 AM (5 months ago)
Author:
marc@f1.local
branch:
default
Message:

Fix for #86

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • development/java/field/core/DragDuplicator.java

    r87 r140  
    8080                at.x = event.getX(); 
    8181                at.y = event.getY(); 
    82                  
     82 
    8383                out.println(" output <"+ongoing+">"); 
    8484        } 
     
    9292 
    9393                out.println(" delta <"+deltaX+", "+deltaY+">"); 
    94                  
     94 
    9595                at.x = event.getX(); 
    9696                at.y = event.getY(); 
     
    107107                if (!isDragging) 
    108108                        return; 
    109                  
     109 
    110110        } 
    111111 
  • development/java/field/core/persistance/FluidPersistence.java

    r85 r140  
    3535import com.thoughtworks.xstream.mapper.MapperWrapper; 
    3636 
     37import field.core.StandardFluidSheet; 
    3738import field.core.dispatch.Mixins; 
    3839import field.core.dispatch.VisualElement; 
     
    4142import field.core.dispatch.Mixins.iMixinProxy; 
    4243import field.core.dispatch.iVisualElement.Rect; 
     44import field.core.dispatch.iVisualElement.VisualElementProperty; 
    4345import field.core.dispatch.iVisualElementOverrides.iDefaultOverride; 
    4446import field.core.plugins.drawing.opengl.CachedLine; 
    4547import field.core.plugins.drawing.opengl.CachedLineCompression; 
     48import field.core.util.FieldPyObjectAdaptor.PyVisualElement; 
    4649import field.core.windowing.components.iComponent; 
    4750import field.namespace.generic.ReflectionTools; 
     
    490493                                public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { 
    491494                                        writer.startNode("requiredserialization"); 
    492                                          
     495 
    493496                                        bos.reset(); 
    494497                                        try{ 
     
    497500                                                oos.close(); 
    498501                                                writer.setValue(new Base64().encode(bos.toByteArray())); 
    499                                         }       
     502                                        } 
    500503                                        catch(IOException x) 
    501504                                        { 
     
    510513                                                String value = reader.getValue(); 
    511514                                                reader.moveUp(); 
    512                                                  
     515 
    513516                                                //Object dc = CachedLineCompression.decompress(value); 
    514517                                                ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(new Base64().decode(value))); 
    515518                                                Object o = ois.readObject(); 
    516519                                                ois.close(); 
    517                                                          
     520 
    518521                                                return o; 
    519522                                        } catch (Throwable t) { 
     
    581584                        return false; 
    582585                } 
     586                if (e.getValue() instanceof PyVisualElement) 
     587                { 
     588                        return checkVisualElementReference((VisualElementProperty) e.getKey(), element, (iVisualElement)((PyVisualElement)e.getValue()).__tojava__(VisualElement.class)); 
     589                } 
     590                if (e.getValue() instanceof iVisualElement) 
     591                { 
     592                        return checkVisualElementReference((VisualElementProperty) e.getKey(),  element, (iVisualElement)e.getValue()); 
     593                } 
    583594                return true; 
    584595        } 
    585596 
     597        private boolean checkVisualElementReference(VisualElementProperty p, iVisualElement inside, iVisualElement potential) { 
     598                List<iVisualElement> possible = StandardFluidSheet.allVisualElements(inside); 
     599                if (!possible.contains(potential)) 
     600                { 
     601                        warnings.add("warning: property " + p+ " inside " + inside.payload().get(iVisualElement.name) + " is persistent, yet holds a cross sheet reference to " + potential.payload().get(iVisualElement.name)); 
     602                        return false; 
     603                } 
     604                return true; 
     605        } 
     606 
    586607} 
  • development/java/field/core/plugins/drawing/BasicDrawingPlugin.java

    r126 r140  
    211211                                dragParticipants_list.beginDrag(((FrameManipulation) to.get()).resizeType, source, ((FrameManipulation) to.get()).originalFrame, ((FrameManipulation) to.get()).modifersDown); 
    212212                        } else if (prop == frameManipulationEnd) { 
    213                                 dragParticipants_list.endDrag(((FrameManipulation) to.get()).resizeType, source, ((FrameManipulation) to.get()).originalFrame, (((FrameManipulation) to.get()).modifersDown & 256) != 0, ((FrameManipulation) to.get()).modifersDown); 
     213 
     214                                dragParticipants_list.endDrag(((FrameManipulation) to.get()).resizeType, source, ((FrameManipulation) to.get()).originalFrame, (((FrameManipulation) to.get()).modifersDown) == 256, ((FrameManipulation) to.get()).modifersDown); 
    214215                        } else if (prop == iVisualElement.hasFocusLock) { 
    215216                                if (((Ref<Boolean>) to).get()) { 
  • development/java/field/core/windowing/components/DraggableComponent.java

    r113 r140  
    500500                                                        d.deselectAll(); 
    501501                                        } 
     502                                        System.out.println(" adding to selection"); 
    502503                                        for (SelectionGroup<iComponent> d : getSelectionGroups()) 
    503504                                                d.addToSelection(DraggableComponent.this); 
    504                                          
     505 
    505506                                        DraggableComponent.this.setSelected(true); 
    506507                                        justSelected = true; 
     
    643644                        if (getInside() != null) 
    644645                                getInside().requestRedisplay(); 
    645                          
     646 
    646647                        for (SelectionGroup g : getMarkingGroups()) { 
    647648                                g.register(this); 
     
    664665                        if (getInside() != null) 
    665666                                getInside().requestRedisplay(); 
    666                          
     667 
    667668                        for (SelectionGroup g : getSelectionGroups()) { 
    668669                                g.register(this); 
     
    716717        } 
    717718 
    718          
     719 
    719720        @CachedPerUpdate 
    720721        protected List<SelectionGroup<iComponent>> getMarkingGroups() {