Changeset 150 in tmcsimulator-scriptbuilder for trunk/src/scriptbuilder/structures


Ignore:
Timestamp:
11/18/2019 03:51:55 PM (6 years ago)
Author:
sdanthin
Message:

IncidentTimelinePanel?.java added right-click menu popup functionality to add time
ScriptIncident?.java Added moveAllFollowingEvents function
ScriptIncidentTest?.java Added test to test moveAllFollowingEvents - may need better edge cases

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/scriptbuilder/structures/ScriptIncident.java

    r145 r150  
    205205        script.update(); 
    206206    } 
    207  
     207    /** 
     208     * shifts all timeslices over by timeAdd amount starting at offset 
     209     * @param offset amount of time preceding where we want to move all of the following events. 
     210     * @param timeAdd amount of time added after offset  
     211     */ 
     212    public void moveAllFollowingEvents(int offset, int timeAdd) 
     213    { 
     214        //int old = this.offset; 
     215        TreeMap<Integer, TimeSlice> newSlices = new TreeMap<Integer, TimeSlice>(); 
     216 
     217         
     218 
     219        for (Integer k : slices.keySet()) 
     220        { 
     221            if(k<offset) 
     222            { 
     223                newSlices.put(k, slices.get(k)); 
     224            }else 
     225            { 
     226                if(k+timeAdd >0) 
     227                { 
     228                    newSlices.put(k+timeAdd, slices.get(k)); 
     229                }else 
     230                { 
     231                    newSlices.put(0, slices.get(k)); 
     232                } 
     233                 
     234            } 
     235             
     236             
     237        } 
     238        for (TimeSlice ts : newSlices.values()) 
     239        { 
     240            if(ts.getTime()>offset ) 
     241            { 
     242                if( ts.getTime()+timeAdd>=0) 
     243                { 
     244                    ts.shift(timeAdd); 
     245                } 
     246                else 
     247                { 
     248                    ts.shift(-ts.getTime()); 
     249                } 
     250                 
     251            } 
     252             
     253        } 
     254        latestStart = (latestStart + timeAdd>0) ? latestStart + timeAdd: 0; 
     255        slices = newSlices; 
     256        updateLength(); 
     257        script.update(); 
     258    } 
    208259    /** 
    209260     * Add a new script event to this incident. 
Note: See TracChangeset for help on using the changeset viewer.