ICal moving an event to a new date, next week or next months,

how do i drag my event from todays days to next months, i can not seem to drag an event from a date to another date unless its in the same week if in week view, or same month if in the mionth view, Their must be a simple drag function
Message was edited by: CaptainStarwars

CaptainStarwars,
Dragging is not possible under the circumstances that you describe.
You click on the event and use (⌘C) and then (⌘V). if you want to remove the event from the first occurrence use (⌘X), and (⌘V).
;~)

Similar Messages

  • Moving several events into a new calendar...

    I am consolidating several different databases and now have too many overlapping calendars in iCal. I'd like to be able to select a dozen or more events in one calendar and move then into another calendar, so I don't need to go into each event individually and change them. Is there a way to do this?
    Thank you!
    MacBookPro   Mac OS X (10.4.6)  

    Aha! They can simply be cut and pasted into a new calendar! Nevermind.... :-))

  • Moving multiple events to a new HD

    I have a new external HD. I'm wanting to move many, many events from one external HD to the new one. Seems I can only move one event at a time. If I Command Click to select multiple events then Command and drag, that is not possible. If I click an event then Command and drag to new HD that works fine. Is there a way to move multiple events at once rather than one at a time? Thanks.

    No worries.
    Either way it should work fine using the command key to highlight many iMovie events and then drag them. Move slowly so that iMovie has a chance to track your motions and make sure the external drive icon lights up in the iMovie interface before you drop the files.
    If it still doesn't seem to be working remove the following to the trash and restart the computer:
    Home > Library > Caches
    Home > Library > Preferences > com.apple.imovie
    If that does not take care of it I would re-post your question in the iMovie forum for further suggestions.
    Cheers!

  • ICal - moving multiple events as group

    Hello. Please, it's possible to move multiple events(in the same or different cals) as a group ? For example i wake up one hour later so I need to move all today's events one hour later...
    I see no way to do this

    :/

  • Event times adding a date

    I have a G5, a laptop and an iPhone being sync'd with MobileMe. The iPhone is new last week. I have been sync'ing the two computers via MobileMe for a few months.
    Yesterday I noticed on the MacBook in iCal that all the event start and stop times had a date added after the normal date and time. Like this: "10/13/2009 0915 AM 10/13/20"
    The "10/13/20" at the end is the new thing. It now shows in all the events for start and stop times.
    Under iCal Preferences there is also a new date added after the "Day Starts/Stops At"
    Like this: "6:00 AM 1/1/00" Not sure where the "1/1/00" comes from or what it indicates (the beginning of time?)
    I can't remove these dates.
    The G5 and the iPhone seemed to be fine for awhile until I got a message on the G5 that said that MobileMe wants to change 1200 events in the G5 iCal. I think the MobileMe Cloud now reflects the messed up MacBook and is trying to make the G5 read the same. I turned off all sync'ing of iCal via MobileMe.
    I researched the support site to see if this problem has been reported in the past. Found a lot of stuff but nothing that is the same.
    I do not see any other strange happenings in the MacBook iCal, just the extra dates. There may be some; but I haven't seen them yet.
    Has anyone seen this? Has anyone have a fix or an idea of what to do to remove the extra dates?
    Thanks for your help.
    John

    I would like to drag this question back into the light after a holiday weekend. I'm hoping someone out there can give me a new lead to follow. I have tried everything.
    I restored all the data on my computer with a backup that was 4 months old. When I opened iCal the data all had the extra date info added to every event. It was the same.
    Either the problem has been there for quite awhile (the laptop is not the principle computer for inputting events; the G5 is) or the problem is something in the MacBook OS that is adding the date info every time you insert a time (since it shows in each event and also in the preferences beside every start/stop time) or it is related only to the Intel MacBook and not to the Power PC G5.
    I am out of ideas.
    Any help? Thanks,
    John

  • ICal Issue/Question Re. How To Change "Beginning of Week" Setting

    Hi All-
    I've been wracking what's left of my feeble mind on this, but can't find where I can go to change the "Beginning of Week" day setting for iCal. I've got a first gen iPhone, and have updated it to ver 2.0. Currently, iCal is showing Monday as the beginning of the week in the "month" view of the application. Where do I go to change this so that Sunday is the beginning of the week instead??

    Hey Fly-
    Thanks for advice That did the trick!

  • Is there any way of dragging and dropping an iCal event showing in week view across to a date in the left sidebar monthly calendar?

    Hi, Im not a frequent forum poster, as most of my questions can be found already answered on them!
    This is a question Ive had for a long time and it amazes me that no-one else seems to ask it. I check at each OS upgrade but its never there...
    Is there any way of dragging and dropping an iCal event showing in week view across to a date in the left sidebar monthly calendar?
    I was able to do this years ago in MS Outlook, and utilized it all the time when I needed to push things back, now I have to open the event and select an new date in the drop-down calendar for each & every event I want to move to a new month at the end of the month.
    If its definitely not possible, how to you ask apple to consider including it - it doesnt seem like a particularly difficult task.
    Thankyou
    Andrew.

    Andrew,
    Is there any way of dragging and dropping an iCal event showing in week view across to a date in the left sidebar monthly calendar?
    No, but you can use cut/paste. Cut (⌘X) the event, then click on the week where you want to move the event, and Paste (⌘V).
    If you have a suggestion for Apple to change that method use: Apple - Mac OS X - Feedback.

  • In IPhoto I changed movie dates after thumb nails were created in IMovie but the new dates are not showing up in IMovie.  Is there someway to refresh the IPhoto event in IMovie?

    Background:  I'm transferring file folders from a Visa laptop via an external hard drive to my IMac.  In the folders are photos and videos from different cameras.  SO I first tried to import to IMovie but it would not recognize any of the files.  So then I imported into IPhoto and both photos and videos were imported and I created events for each folder.  When I first opened IMovie I had to wait for it to create "thumb nails".  Then I could view the events in IMovie BUT the video clips are not together because they have vastly different dates and are mixed with videos from other events.  I looked at the dates and said I can fix that in IPhoto which i did but those new dates are not showing up in IMovie.    I think I need to somehow refresh the event data that Imovie is using but have not found how to do that in either IPhoto or IMovie. 
    I'm doing this on three events with about 100 photos and videos.  But I have many 1000s more to do so need to know how to either fix this or delete these events, reimport, change the dates, then open again in IMovie.   I'm sure that would work but I can't understand why changing the dates in IPhoto is not being reflected in IMovie.  
    Appreciate any tips or pointers.
    OBTW this is my first question as a first time Apple owner. 

    It was suggested I move this question to IPhoto or IMovie which I did. 
    Well moving to a different discussion group did not provide an answer to this question either. But what I finally did was import one batch of photos and videos into IPhoto for a given day at a time. Working with these I could change the date and times in order to get them in the original sequench taken. Then I would create an album with that batch. These would all be on the same day (IMove was closed for this phase). Then I would open IMovie, generate the thumbnails for that album, and select the album I had created. This was necessary because the importing process in IPhoto was using incorrect dates for my video so it was a real struggle finding them in IMove until I developed this approach.
    I believe that this whole process was so screwy because I was importing from an external hard drive not a camera. I had these photos on a PC and did not have the original cameras to use to import directly which I am fairly sure would have made this easier!

  • How to set a default start and/or end date for New Events based on trigger date.

    I'm using the CalendarActivityListener to get current row when clicking on an existing event. As per previous posts this listener gives you access to event detail including Start Date, End Date, etc.
    However, what I want to do is to default the start (and end) dates for New Events based on the trigger date.
    I've tried the CalendarListener and can grab the Trigger Date from it - however, I can't see a way to pass this directly to the popup/dialog I'm using to create the new event.
    At present I'm putting the TriggerDate into the ADFContext session scope e.g. ADFContext.getCurrent().getSessionScope().put("TriggerDate",calendarEvent.getTriggerDate());
    Then, I've tried multiple approaches to try and "get" the TriggerDate from session scope to drop it into my new Calendar Event basically, I'm trying to default the InputField(s) associated with the Start Date using the value from the session - I've tried
    1. setting the default value for the InputField in the jspx using a binding expression i.e. value="#{sessionScope.TriggerDate}" - this actually sets the value appropriately when the jspx is rendered but, when I go to create I get a NPE and I can't debug. I assumed that it might be a Date type issue - it would appear that CalendarListener provides a date of type java.util.Date and that the StartDate attribute of my VO/EO/table is a DATE and therefore requires oracle.jbo.domain.Date so I tried casting it - to no effect
    2. Using a Groovy expression *(StartDate==null?adf.context.sessionScope.TriggerDate:StartDate)* in my calendar's EventVO to default the Start Date to the same result
    Any thoughts or ideas?

    John,
    Thanks for that suggestion - could not get it to work. However, I did manage a different approach. I finally determined the sequence of events in terms of how the various events and listeners fire (I think).
    Basically, the CalendarActivityListener fires, followed by the listener associated with the Calendar object's Create facet, followed finally by the CalendarEventListener - the final is where the TriggerEvent is available and then finally, control is passed to the popup/dialog in the Create facet. So, my approach of trying to set/get the TriggerDate in the user's HTTP session was doomed to failure because it was being get before it had been set :(
    Anyway, I ended up adding a bit of code to the CalendarEvent listener - it grabs the current BindingContext, navigates through the DCBindingContainer to derive an Iterator for the ViewObject which drives the calendar and then grabs the currently active row. I then do a few tests to make sure we're working with a "new" row because I don't want to alter start & end dates associated with an existing calendar entry and then I define the Start and End dates to be the Trigger Date.
    Works just fine. Snippet from the listener follows
    BindingContext bindingContext = BindingContext.getCurrent();+
    *if ( bindingContext != null )    {*+
    DCBindingContainer dcBindings = (DCBindingContainer) bindingContext.getCurrentBindingsEntry();+
    DCIteratorBinding iterator = dcBindings.findIteratorBinding("EventsView1Iterator");+
    Row currentRow = iterator.getCurrentRow();+
    if ( currentRow.getAttribute("StartDate") == null)+
    currentRow.setAttribute("StartDate", calendarEvent.getTriggerDate());+
    if (currentRow.getAttribute("EndDate")==null)+
    currentRow.setAttribute("EndDate", calendarEvent.getTriggerDate());+
    *}*

  • Ical will not let me add new events

    Hi. I am working on a mac at my new job and I was trying to use the ical on here to setup my calendar. However, when I click in the field I get a warning message that says: "You cannot change events or To Do items on calendars you've subscribed to."
    I didn't subscribe to this calendar, it is the original calendar given to me when I opened ical. I tried adding a new calendar and adding on that but it gives me the same message. Any suggestions on what to do to fix this? Thanks!!
    Cara

    Hi Cara,
    Welcome to Discussions.
    With iCal closed, try deleting it's preference file (User/Library/Preferences/com.apple.iCal.plist).
    If this does not work try repairing permissions. Open Disk Utility (Applications/Utilities/Disk Utility) and select your boot volume on the left and click Repair Permissions.
    If neither of these work post back.
    John M

  • Help on moving frames with new Date()

    I'm a AS beginer and I need help. I trying to move frames accordind to the hour, for example: at 7 am the at frame 1 and at 8 am at frame 10. I have a code that moves the frames every one hour but I need also to move the by the half hour. For instance: at 7 am frame 1, at 7:30 am frame 5, and at 8 am frame 10. This is the code I have so far that moves ever hour:
    // new Date object
    myDate = new Date();
    myHour = myDate.getHours();
    _root.onLoad = function() {
    switch (myHour) {
    //this start at 7 am and end at 6 am
    case 7 :
      trace("It's 7:00 AM");
      switcher_mc.gotoAndStop(1);
      break;
    case 8 :
      trace("It's 8:00 AM");
      switcher_mc.gotoAndStop(3);
      break;
    case 9 :
      trace("It's 9:00 AM");
      switcher_mc.gotoAndStop(5);
      break;
    case 10 :
      trace("It's 10:00 AM");
      switcher_mc.gotoAndStop(7);
      break;
    and so on till 6 am. As you see I need some half hours for some frames.
    I will appreciate any help.
    Thanks in advance
    Pao Pao

    I'm sorry I don't get what you mean. As you see the frame noves when it get to the "case #" like "case 7" it goes to play when is seven am and case 19 goes to play when is 7 pm. what I want is how to get to 7.5 to go and play at 7:30.

  • TableSorter errors when adding new data

    so here is the deal:
    I am using the TableSorter.java helper class with DefaultTableModel
    from: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
    It works great when the data is static and I get it for the first time. however, occationally, when adding new data I get a NullPointerException error.
    in use:
    DefaultTableModel.addRow()
    DefaultTableModel.removeRow() and
    DefaultTableModel.insertRow() methods.
    Error:
    java.lang.ArrayIndexOutOfBoundsException: 5
         at com.shared.model.TableSorter.modelIndex(TableSorter.java:294)
         at com.shared.model.TableSorter.getValueAt(TableSorter.java:340)
         at javax.swing.JTable.getValueAt(Unknown Source)
         at javax.swing.JTable.prepareRenderer(Unknown Source)...
    code problem I:
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        }code problem II:
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        }TableSroter class:
    package com.shared.model;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.util.List;
    import javax.swing.*;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.*;
    * TableSorter is a decorator for TableModels; adding sorting
    * functionality to a supplied TableModel. TableSorter does
    * not store or copy the data in its TableModel; instead it maintains
    * a map from the row indexes of the view to the row indexes of the
    * model. As requests are made of the sorter (like getValueAt(row, col))
    * they are passed to the underlying model after the row numbers
    * have been translated via the internal mapping array. This way,
    * the TableSorter appears to hold another copy of the table
    * with the rows in a different order.
    * <p/>
    * TableSorter registers itself as a listener to the underlying model,
    * just as the JTable itself would. Events recieved from the model
    * are examined, sometimes manipulated (typically widened), and then
    * passed on to the TableSorter's listeners (typically the JTable).
    * If a change to the model has invalidated the order of TableSorter's
    * rows, a note of this is made and the sorter will resort the
    * rows the next time a value is requested.
    * <p/>
    * When the tableHeader property is set, either by using the
    * setTableHeader() method or the two argument constructor, the
    * table header may be used as a complete UI for TableSorter.
    * The default renderer of the tableHeader is decorated with a renderer
    * that indicates the sorting status of each column. In addition,
    * a mouse listener is installed with the following behavior:
    * <ul>
    * <li>
    * Mouse-click: Clears the sorting status of all other columns
    * and advances the sorting status of that column through three
    * values: {NOT_SORTED, ASCENDING, DESCENDING} (then back to
    * NOT_SORTED again).
    * <li>
    * SHIFT-mouse-click: Clears the sorting status of all other columns
    * and cycles the sorting status of the column through the same
    * three values, in the opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.
    * <li>
    * CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except
    * that the changes to the column do not cancel the statuses of columns
    * that are already sorting - giving a way to initiate a compound
    * sort.
    * </ul>
    * <p/>
    * This is a long overdue rewrite of a class of the same name that
    * first appeared in the swing table demos in 1997.
    * @author Philip Milne
    * @author Brendon McLean
    * @author Dan van Enckevort
    * @author Parwinder Sekhon
    * @version 2.0 02/27/04
    public class TableSorter extends AbstractTableModel
        protected TableModel tableModel;
        public static final int DESCENDING = -1;
        public static final int NOT_SORTED = 0;
        public static final int ASCENDING = 1;
        private static Directive EMPTY_DIRECTIVE = new Directive(-1, NOT_SORTED);
        public static final Comparator COMPARABLE_COMAPRATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return ((Comparable) o1).compareTo(o2);
        public static final Comparator LEXICAL_COMPARATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return o1.toString().compareTo(o2.toString());
        private Row[] viewToModel;
        private int[] modelToView;
        private JTableHeader tableHeader;
        private MouseListener mouseListener;
        private TableModelListener tableModelListener;
        private Map columnComparators = new HashMap();
        private List sortingColumns = new ArrayList();
        public TableSorter()
            this.mouseListener = new MouseHandler();
            this.tableModelListener = new TableModelHandler();
        public TableSorter(TableModel tableModel)
            this();
            setTableModel(tableModel);
        public TableSorter(TableModel tableModel, JTableHeader tableHeader)
            this();
            setTableHeader(tableHeader);
            setTableModel(tableModel);
        private void clearSortingState()
            viewToModel = null;
            modelToView = null;
        public TableModel getTableModel()
            return tableModel;
        public void setTableModel(TableModel tableModel)
            if (this.tableModel != null)
                this.tableModel.removeTableModelListener(tableModelListener);
            this.tableModel = tableModel;
            if (this.tableModel != null)
                this.tableModel.addTableModelListener(tableModelListener);
            clearSortingState();
            fireTableStructureChanged();
        public JTableHeader getTableHeader()
            return tableHeader;
        public void setTableHeader(JTableHeader tableHeader)
            if (this.tableHeader != null)
                this.tableHeader.removeMouseListener(mouseListener);
                TableCellRenderer defaultRenderer = this.tableHeader.getDefaultRenderer();
                if (defaultRenderer instanceof SortableHeaderRenderer)
                    this.tableHeader.setDefaultRenderer(((SortableHeaderRenderer) defaultRenderer).tableCellRenderer);
            this.tableHeader = tableHeader;
            if (this.tableHeader != null)
                this.tableHeader.addMouseListener(mouseListener);
                this.tableHeader.setDefaultRenderer
                        new SortableHeaderRenderer(this.tableHeader.getDefaultRenderer())
        public boolean isSorting()
            return sortingColumns.size() != 0;
        private Directive getDirective(int column)
            for (int i = 0; i < sortingColumns.size(); i++)
                Directive directive = (Directive)sortingColumns.get(i);
                if (directive.column == column)
                    return directive;
            return EMPTY_DIRECTIVE;
        public int getSortingStatus(int column)
            return getDirective(column).direction;
        private void sortingStatusChanged()
            clearSortingState();
            fireTableDataChanged();
            if (tableHeader != null)
                tableHeader.repaint();
        public void setSortingStatus(int column, int status)
            Directive directive = getDirective(column);
            if (directive != EMPTY_DIRECTIVE)
                sortingColumns.remove(directive);
            if (status != NOT_SORTED)
                sortingColumns.add(new Directive(column, status));
            sortingStatusChanged();
        protected Icon getHeaderRendererIcon(int column, int size)
            Directive directive = getDirective(column);
            if (directive == EMPTY_DIRECTIVE)
                return null;
            return new Arrow(directive.direction == DESCENDING, size, sortingColumns.indexOf(directive));
        private void cancelSorting()
            sortingColumns.clear();
            sortingStatusChanged();
        public void setColumnComparator(Class type, Comparator comparator)
            if (comparator == null)
                columnComparators.remove(type);
            else
                columnComparators.put(type, comparator);
        protected Comparator getComparator(int column)
            Class columnType = tableModel.getColumnClass(column);
            Comparator comparator = (Comparator) columnComparators.get(columnType);
            if (comparator != null)
                return comparator;
            if (Comparable.class.isAssignableFrom(columnType))
                return COMPARABLE_COMAPRATOR;
            return LEXICAL_COMPARATOR;
        private Row[] getViewToModel()
            if (viewToModel == null)
                int tableModelRowCount = tableModel.getRowCount();
                viewToModel = new Row[tableModelRowCount];
                for (int row = 0; row < tableModelRowCount; row++)
                    viewToModel[row] = new Row(row);
                if (isSorting())
                    Arrays.sort(viewToModel);
            return viewToModel;
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        private int[] getModelToView()
            if (modelToView == null)
                int n = getViewToModel().length;
                modelToView = new int[n];
                for (int i = 0; i < n; i++)
                    modelToView[modelIndex(i)] = i;
            return modelToView;
        // TableModel interface methods
        public int getRowCount()
            return (tableModel == null) ? 0 : tableModel.getRowCount();
        public int getColumnCount()
            return (tableModel == null) ? 0 : tableModel.getColumnCount();
        public String getColumnName(int column)
            return tableModel.getColumnName(column);
        public Class getColumnClass(int column)
            return tableModel.getColumnClass(column);
        public boolean isCellEditable(int row, int column)
            return tableModel.isCellEditable(modelIndex(row), column);
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        public void setValueAt(Object aValue, int row, int column)
            tableModel.setValueAt(aValue, modelIndex(row), column);
        // Helper classes
        private class Row implements Comparable
            private int modelIndex;
            public Row(int index)
                this.modelIndex = index;
            public int compareTo(Object o)
                int row1 = modelIndex;
                int row2 = ((Row) o).modelIndex;
                for (Iterator it = sortingColumns.iterator(); it.hasNext();)
                    Directive directive = (Directive) it.next();
                    int column = directive.column;
                    Object o1 = tableModel.getValueAt(row1, column);
                    Object o2 = tableModel.getValueAt(row2, column);
                    int comparison = 0;
                    // Define null less than everything, except null.
                    if (o1 == null && o2 == null)
                        comparison = 0;
                    } else if (o1 == null)
                        comparison = -1;
                    } else if (o2 == null)
                        comparison = 1;
                    } else {
                        comparison = getComparator(column).compare(o1, o2);
                    if (comparison != 0)
                        return directive.direction == DESCENDING ? -comparison : comparison;
                return 0;
        private class TableModelHandler implements TableModelListener
            public void tableChanged(TableModelEvent e)
                // If we're not sorting by anything, just pass the event along.            
                if (!isSorting())
                    clearSortingState();
                    fireTableChanged(e);
                    return;
                // If the table structure has changed, cancel the sorting; the            
                // sorting columns may have been either moved or deleted from            
                // the model.
                if (e.getFirstRow() == TableModelEvent.HEADER_ROW)
                    cancelSorting();
                    fireTableChanged(e);
                    return;
                // We can map a cell event through to the view without widening            
                // when the following conditions apply:
                // a) all the changes are on one row (e.getFirstRow() == e.getLastRow()) and,
                // b) all the changes are in one column (column != TableModelEvent.ALL_COLUMNS) and,
                // c) we are not sorting on that column (getSortingStatus(column) == NOT_SORTED) and,
                // d) a reverse lookup will not trigger a sort (modelToView != null)
                // Note: INSERT and DELETE events fail this test as they have column == ALL_COLUMNS.
                // The last check, for (modelToView != null) is to see if modelToView
                // is already allocated. If we don't do this check; sorting can become
                // a performance bottleneck for applications where cells 
                // change rapidly in different parts of the table. If cells
                // change alternately in the sorting column and then outside of            
                // it this class can end up re-sorting on alternate cell updates -
                // which can be a performance problem for large tables. The last
                // clause avoids this problem.
                int column = e.getColumn();
                if (e.getFirstRow() == e.getLastRow()
                        && column != TableModelEvent.ALL_COLUMNS
                        && getSortingStatus(column) == NOT_SORTED
                        && modelToView != null)
                    int viewIndex = getModelToView()[e.getFirstRow()];
                    fireTableChanged(new TableModelEvent(TableSorter.this,
                                                         viewIndex, viewIndex,
                                                         column, e.getType()));
                    return;
                // Something has happened to the data that may have invalidated the row order.
                clearSortingState();
                fireTableDataChanged();
                return;
        private class MouseHandler extends MouseAdapter
            public void mouseClicked(MouseEvent e)
                JTableHeader h = (JTableHeader) e.getSource();
                TableColumnModel columnModel = h.getColumnModel();
                int viewColumn = columnModel.getColumnIndexAtX(e.getX());
                int column = columnModel.getColumn(viewColumn).getModelIndex();
                if (column != -1)
                    int status = getSortingStatus(column);
                    if (!e.isControlDown())
                        cancelSorting();
                    // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or
                    // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed.
                    status = status + (e.isShiftDown() ? -1 : 1);
                    status = (status + 4) % 3 - 1; // signed mod, returning {-1, 0, 1}
                    setSortingStatus(column, status);
        private static class Arrow implements Icon
            private boolean descending;
            private int size;
            private int priority;
            public Arrow(boolean descending, int size, int priority)
                this.descending = descending;
                this.size = size;
                this.priority = priority;
            public void paintIcon(Component c, Graphics g, int x, int y)
                Color color = c == null ? Color.GRAY : c.getBackground();            
                // In a compound sort, make each succesive triangle 20%
                // smaller than the previous one.
                int dx = (int)(size/2*Math.pow(0.8, priority));
                int dy = descending ? dx : -dx;
                // Align icon (roughly) with font baseline.
                y = y + 5*size/6 + (descending ? -dy : 0);
                int shift = descending ? 1 : -1;
                g.translate(x, y);
                // Right diagonal.
                g.setColor(color.darker());
                g.drawLine(dx / 2, dy, 0, 0);
                g.drawLine(dx / 2, dy + shift, 0, shift);
                // Left diagonal.
                g.setColor(color.brighter());
                g.drawLine(dx / 2, dy, dx, 0);
                g.drawLine(dx / 2, dy + shift, dx, shift);
                // Horizontal line.
                if (descending) {
                    g.setColor(color.darker().darker());
                } else {
                    g.setColor(color.brighter().brighter());
                g.drawLine(dx, 0, 0, 0);
                g.setColor(color);
                g.translate(-x, -y);
            public int getIconWidth()
                return size;
            public int getIconHeight()
                return size;
        private class SortableHeaderRenderer implements TableCellRenderer
            private TableCellRenderer tableCellRenderer;
            public SortableHeaderRenderer(TableCellRenderer tableCellRenderer)
                this.tableCellRenderer = tableCellRenderer;
            public Component getTableCellRendererComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           boolean hasFocus,
                                                           int row,
                                                           int column)
                Component c = tableCellRenderer.getTableCellRendererComponent(table,
                        value, isSelected, hasFocus, row, column);
                if (c instanceof JLabel) {
                    JLabel l = (JLabel) c;
                    l.setHorizontalTextPosition(JLabel.LEFT);
                    int modelColumn = table.convertColumnIndexToModel(column);
                    l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
                return c;
        private static class Directive
            private int column;
            private int direction;
            public Directive(int column, int direction)
                this.column = column;
                this.direction = direction;
    }any input will be appreciated.
    thanks
    Peter

    The code you posted doesn't help us at all. Its just a duplicate of the code from the tutorial. The custom code is what you have written. For example do you update the TableModel from the Event Thread? Do you update the SortModel or the DefaultTableModel? If you actually provide your test code and somebody has already downloaded the sort classes, then maybe they will test your code against the classes. But I doubt if people will download the sort classes and create a test program just to see if they can duplicate your results (at least I know I'm not about to).

  • ICal 5 default event length

    Since installing Lion last week iCal sets all new events I create to 'all day' as the default, previously it was the normal 1 hour which was fine. The old command line trick to modify the default (defaults write com.apple.iCal 'Default duration in minutes for new event' 60) does not appear to work with iCal 5 / Lion. Anyone else seeing this, and if so anyone know how to get this back to 1 hour versus every new event defaulting to all day?
    NEVER MIND-After searching these boards fruilessly the solution only showed up after I posted the question. Apple may need to work on their search functionalty. Short answer, default for the "month" view is all day. Apparently you can type a time and data detectors will make the change.

    While I don't disagree that the changes seem a bit less than intuitive, you can always have the default alarm already set (in iCal, open Preferences and at the bottom of the General tab you can turn on the default alarm and set a time ahead of future events to go off). So if you have the default alarm set, and know how to trigger the time of day setting, then all you would really have to manually change is the event length (default is 1 hour). And you can change that using data tags as well. Just create an event named "have lunch with Jalpuna from 12:00 to 2:00 PM" and sure enough iCal will create an event named "have lunch with Jalpuna" on the date you clicked on from 12:00 to 2:00 PM. It definately is an adjustment, but not nearly as bad as I feared when I first started trying to figure it out. Best of luck!

  • Repeated crashing of ical when editing events

    Hi, new to this but looks good so here it goes. Mac in general seems to be playing up right now but ical in particular is crashing EVERY time I change the calender type (colour) of an event or move it to a new date or 'cut' it. No error message, no being slow just totally shuts down and then does the whole reporting to apple and relaunching business. Can't seem to find anything online that fixes this and has never done it up until maybe a week ago. Also got issues with my PPOE server if that offers any help!?
    Thank you in advance!

    Find the latest iCal crash report in your Library/Logs/Crash Reporter folder, double click to open it (it should open with console.app) and paste the contents here. While you have console open look in console message to see has iCal posted anything there before crashing - if so, paste that here too.
    AK

  • Ical moving item in week view to next week view - can you drag it

    i like to drag items not completed from a week view to the next week view, but as with Office 2007 you cant just drag the event from the week view to the months calendar view on the side and drop it into a new date.
    I know if you use month view, it make is easy but month view is my least preferred display option, also in month view, to drag to the next month is no possible.
    I wonder what is a quickstep to do this, it must be annoying for others

    CaptainStarwars,
    Try using (⌘+C) and then (⌘+V). That action retains the event in the original, while also placing a duplicate in the new location.
    If you want to remove the event from the original time, use (⌘+X), then (⌘+V) in the new time frame.
    ;~)

Maybe you are looking for

  • HP PhotoSmart Studio Software Locks Up or is Painfully Slow!

    I tried to resolve this thru HP support, but never got past the level 1 reinstall run around. However, I did come up with a 'fix'. By using Activity Monitor and Xcode Instruments I was able to determine that the excess cpu and memory was being consum

  • MimeMultipart.getBodyPart Blocking Work Around

    I am using MimeMultipart's getBodyPart() method. I need to read a bunch of form-data variables and determine if the subsequent set of attached files are valid or not. So, before I read the file portions of the MimMultipart I need to do some processin

  • Export Error on WebI Rich Client

    Hi guys, Is there any explanation or any suggested solution for the following problem.. (The reason of being able to export a huge report (greater than 9000 pages) as (.csv) on Infoview, while not being able to export it on WebI Rich Client?)

  • My mac book pro is lock and unable to unlock

    hi there how to reset my password

  • Cannot see data in BSO from transparent ASO partition

    I have 2 cubes: BSO (target) and ASO (source). BSO should show data from ASO corresponding element "Fact" from dimension "Scenario". I can see the data using ASO directly, but I cannot see data viewing it from BSO using transparent partition...