You must be logged in to do that (read scm)

[twitterfx~subversion:36] Updated copyright notices to be BSD license.

  • From: sherod@kenai.com
  • To: commits@twitterfx.kenai.com
  • Subject: [twitterfx~subversion:36] Updated copyright notices to be BSD license.
  • Date: Fri, 7 Aug 2009 00:17:53 +0000

Project:    twitterfx
Repository: subversion
Revision:   36
Author:     sherod
Date:       2009-08-06 05:35:05 UTC
Link:       

Log Message:
------------
Updated copyright notices to be BSD license.


Revisions:
----------
36


Modified Paths:
---------------
twitterfx/src/twitterfx/components/URLEntryDialog.fx
twitterfx/src/twitterfx/components/DirectNode.fx
twitterfx/src/twitterfx/panels/StatusPanel.fx
twitterfx/src/twitterfx/twitter/SearchListParser.fx
twitterfx/src/twitterfx/components/ToolTip.fx
twitterfx/src/twitterfx/twitter/RequestHandler.fx
twitterfx/src/org/memefx/html/TextHTML.fx
twitterfx/src/twitterfx/panels/DirectPanel.fx
twitterfx/src/twitterfx/components/SwingPasswordField.fx
twitterfx/src/twitterfx/components/TextButton.fx
twitterfx/src/twitterfx/twitpic/TwitPic.java
twitterfx/src/twitterfx/panels/SendTweetPanel.fx
twitterfx/src/twitterfx/components/TinyButton.fx
twitterfx/src/twitterfx/components/BackgroundBox.fx
twitterfx/src/twitterfx/urlresolver/UrlResolver.java
twitterfx/src/twitterfx/panels/TopControlPanel.fx
twitterfx/src/twitterfx/panels/HorizontalScroll.fx
twitterfx/src/twitterfx/components/IconButton.fx
twitterfx/src/twitterfx/panels/WelcomePanel.fx
twitterfx/src/twitterfx/components/FilterTextFieldComponent.fx
twitterfx/src/twitterfx/components/CenteredGroup.fx
twitterfx/src/twitterfx/panels/HomePanel.fx
twitterfx/src/twitterfx/panels/TwitterConfig.fx
twitterfx/src/twitterfx/twitter/UserListParser.fx
twitterfx/src/twitterfx/components/ZoomImage.fx
twitterfx/src/twitterfx/Main.fx
twitterfx/src/twitterfx/panels/SearchPanel.fx
twitterfx/src/twitterfx/util/ClipboardServices.fx
twitterfx/src/twitterfx/panels/CurrentUserPanel.fx
twitterfx/src/twitterfx/components/HyperText.fx
twitterfx/src/twitterfx/twitter/DirectListParser.fx
twitterfx/src/twitterfx/panels/FriendPanel.fx
twitterfx/src/twitterfx/components/HoverText.fx
twitterfx/src/twitterfx/panels/GroupFriendPanel.fx
twitterfx/src/twitterfx/twitpic/TwitPicAsync.fx
twitterfx/src/twitterfx/twitter/PersistanceAPI.fx
twitterfx/src/twitterfx/panels/Scroll.fx
twitterfx/src/twitterfx/components/TweetTextComponent.fx
twitterfx/src/twitterfx/twitter/UserParser.fx
twitterfx/src/twitterfx/twitter/TweetGroup.fx
twitterfx/src/twitterfx/panels/BanWordsPanel.fx
twitterfx/src/twitterfx/panels/The Deck.css
twitterfx/src/twitterfx/components/DraggableImageView.fx
twitterfx/src/twitterfx/ycoding/YCoding.java
twitterfx/src/twitterfx/twitter/UpdateRequestHandler.fx
twitterfx/src/twitterfx/twitter/APIStatusParser.fx
twitterfx/src/twitterfx/twitter/ProfileImage.fx
twitterfx/src/twitterfx/components/FilterTextField.fx
twitterfx/src/twitterfx/panels/ScrollPanel.fx
twitterfx/src/twitterfx/components/NetworkErrorMessage.fx
twitterfx/src/twitterfx/components/SettingsBox.fx
twitterfx/src/org/memefx/html/TextAttributes.fx
twitterfx/src/twitterfx/panels/VerticalScroll.fx
twitterfx/src/twitterfx/Main_en.fxproperties
twitterfx/src/twitterfx/components/CachedImageLoader.fx
twitterfx/src/twitterfx/components/GroupNode.fx
twitterfx/src/twitterfx/components/TextPanel.fx
twitterfx/src/twitterfx/panels/GroupPanel.fx
twitterfx/src/twitterfx/twitter/Status.fx


Added Paths:
------------
twitterfx/src/twitterfx/lf/common/retweetThisTweetIcon.fxz
twitterfx/src/twitterfx/lf/common/previousIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonEveryoneIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonSearchIconUI.fx
twitterfx/src/twitterfx/lf/common/revealTheTweetEntryBox.fxz
twitterfx/src/twitterfx/lf/common/favoritesIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonDirectMessagesSmallIconUI.fx
twitterfx/src/twitterfx/lf/common/followersIcon.fxz
twitterfx/src/twitterfx/lf/common/searchIcon.fxz
twitterfx/src/twitterfx/panels/bird1.png
twitterfx/src/twitterfx/lf/common/sortByNewestTweetFirstIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonSortIconUI.fx
twitterfx/src/twitterfx/lf/common/TwitterFX.fxz
twitterfx/src/twitterfx/lf/common/twitterNetworkStatusNotConnectedIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonSpoilerFilterIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonRefreshIconUI.fx
twitterfx/src/twitterfx/lf/common/everyoneIcon.fxz
twitterfx/src/twitterfx/lf/common/infoIcon.fxz
twitterfx/src/twitterfx/lf/common/markThisPageOfTweetsReadIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonNewGroupIcon01UI.fx
twitterfx/src/twitterfx/lf/common/spoilerFilterIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonNetworkNotConnectedIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonFollowingIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonMentionsIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonSpoilerFilterSmallIconUI.fx
twitterfx/src/twitterfx/lf/common/refreshIcon.fxz
twitterfx/src/twitterfx/lf/common/viewUnreadTweetsIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonTweetEntryIconUI.fx
twitterfx/src/twitterfx/lf/common/viewTweetsWithLinksIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonTwitterFXUI.fx
twitterfx/src/twitterfx/lf/common/CommonGroupIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonPreviousIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonViewAllTweetsIconUI.fx
twitterfx/src/twitterfx/lf/common/furtherActionsIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonViewUnreadTweetsIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonRetweetIconUI.fx
twitterfx/src/twitterfx/panels/loading.gif
twitterfx/src/twitterfx/lf/common/viewAllTweetsIcon.fxz
twitterfx/src/twitterfx/lf/common/loginIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonMarkThisPageOfTweetsReadIconUI.fx
twitterfx/src/twitterfx/lf/common/nextIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonNetworkConnectedIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonViewAllTweetsWithLinksIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonFurtherActionsIconUI.fx
twitterfx/src/twitterfx/lf/common/settingsIcon.fxz
twitterfx/src/twitterfx/lf/common/insertLinksUsingIS_GDIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonFavoritesSmallIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonSettingsIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonUploadPictureIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonInsertLinksSmallIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonDirectMessagesIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonNextIconUI.fx
twitterfx/src/twitterfx/lf/common/twitterNetworkStatusConnectedIcon.fxz
twitterfx/src/twitterfx/lf/common/toggleFixVariableWidthColumnsIcon.fxz
twitterfx/src/twitterfx/lf/common/followingIcon.fxz
twitterfx/src/twitterfx/panels/Panel.fx
twitterfx/src/twitterfx/lf/common/CommonFavoritesIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonFollowingSmallIconUI.fx
twitterfx/src/twitterfx/lf/common/groupIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonHomeIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonInsertLinksIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonLoginIconUI.fx
twitterfx/src/twitterfx/lf/common/CommonMentionsSmallIconUI.fx
twitterfx/src/twitterfx/MemoryMonitor.java
twitterfx/src/twitterfx/lf/common/uploadPictureViaTwitpicIcon.fxz
twitterfx/src/twitterfx/lf/common/closeControlIcon.fxz
twitterfx/src/twitterfx/lf/common/mentionsIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonFollowersIconUI.fx
twitterfx/src/twitterfx/lf/common/homeIcon.fxz
twitterfx/src/twitterfx/lf/common/directMessagesIcon.fxz
twitterfx/src/twitterfx/lf/common/CommonCloseControlIconUI.fx
twitterfx/src/twitterfx/panels/BottomPanel.fx


Diffs:
------
Index: twitterfx/src/twitterfx/panels/StatusPanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/StatusPanel.fx       (revision 35)
+++ twitterfx/src/twitterfx/panels/StatusPanel.fx       (revision 36)
@@ -1,20 +1,31 @@
-/* 
-   TwitterFX  http://herod.net/twitterfx/
-    Copyright (C) Main.twitterConfig.maxTweetsPerPage09 Steven Herod  
(steven.herod@gmail.com)
+/*
+Copyright (c) 2009, Steven Herod
+All rights reserved.
 
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
 
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>
-*/
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
 /*
  * TwifxerPanel.fx
  *
@@ -25,9 +36,7 @@
  * @author steven
  */
 
-import javafx.animation.Interpolator;
-import javafx.animation.KeyFrame;
-import javafx.animation.Timeline;
+import javafx.fxd.Duplicator;
 import javafx.scene.CustomNode;
 import javafx.scene.Group;
 import javafx.scene.input.MouseEvent;
@@ -43,33 +52,28 @@
 import twitterfx.components.StatusNode;
 import twitterfx.components.TinyButton;
 import twitterfx.components.ToolBox;
+import twitterfx.lf.TwitterFXUI;
 import twitterfx.Main;
+import twitterfx.panels.Panel;
 import twitterfx.panels.ScrollPanel;
 import twitterfx.panels.VerticalScroll;
-import twitterfx.twitter.PersistanceAPI;
 import twitterfx.twitter.Status;
 import twitterfx.twitter.TweetGroup;
 import twitterfx.twitter.TwitterAPI;
+import javafx.scene.image.ImageView;
+import twitterfx.components.CachedImageLoader;
 
 
 
+public class StatusPanel extends CustomNode, Panel {
 
-public class StatusPanel extends CustomNode {
-
-    var persistanceAPI: PersistanceAPI;
-
-    public var width: Float;
-    public var height: Float;
-    public var remoteCall: function():Void;
-    public var label: String;
-    public var currentSelected: Integer;
-    public var keywords: String;
-    public var newCount: Integer;
+   
+    public var imageView: ImageView; // added by zhuliang for loading
   /*  var hasBeenSetup: Boolean = false on replace {
     doLayout(this)
      }*/
 
-   public var furtherActions: Group = Group {
+   override var furtherActions = Group {
         translateY: 5
         translateX: 60
 
@@ -84,33 +88,12 @@
     }
 
 
-   var timelineRate = 1.0;
-    public var furtherActionsFadeIn:Timeline = Timeline {
-        rate: bind timelineRate with inverse
-        keyFrames: [
-          KeyFrame {
-                time: 0.0s
-                values: [ furtherActions.opacity => 0.0 ]
-                canSkip: true
-            },
-            KeyFrame {
-                time: 0.3s
-                values: [ furtherActions.opacity => 0.0 ]
-                canSkip: true
-            },
-            KeyFrame {
-                time: 0.7s
-                values: [ furtherActions.opacity => 1.0 tween 
Interpolator.LINEAR ]
-                canSkip: true
-            }
-        ]
-    };
 
 
     var searchBox: FilterTextBox = FilterTextBox {
         visible: bind Main.twitterConfig.advancedMode
         searchAction: function(){
-            println("You typed: {searchBox.text}");
+            //println("You typed: {searchBox.text}");
             if ((searchBox.text != "") and (allStatuses == null))
             {
                 allStatuses = statuses;
@@ -132,12 +115,14 @@
 
     var deleteButton: TinyButton = TinyButton {
         label: "Delete your Tweet";
-        icon: "grey/Trash";
+        //icon: "grey/Trash";
         action: function() {
             statuses[currentSelected].isDeleted = true;
            // Main.twitterDB.deleteStatus(status.id);
             TwitterAPI.destroy(statuses[currentSelected].id);
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonSpoilerFilterSmallIconUI().spoiler_filter_small_icon)
+
     };
 
     var replyButton: TinyButton = TinyButton {
@@ -148,28 +133,17 @@
             
Main.sendTweetPanel.tweetBox.addPrefix("@{statuses[currentSelected].user.screenName}");
             Main.sendTweetPanel.showTweetPanel();
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonMentionsSmallIconUI().mentions_small_icon)
+
     };
 
 
     var keyButton: TinyButton = bind
     if (statuses[currentSelected].user.isSelf) deleteButton else replyButton;
 
-    
-    var scrollPanel: ScrollPanel = ScrollPanel {
-        translateX: 25;
-        translateY: bind (-1 * verticalScroll.yOffset)
-        height: bind height;
-        width: bind width;
-    }
 
 
-    public var verticalScroll: VerticalScroll = VerticalScroll {
-        translateY: 0
-        translateX: bind (Main.panelWidth - 
verticalScroll.layoutBounds.width)
-        width: 10
-        sceneHeight: bind height
-        panelHeight: bind scrollPanel.layoutBounds.height
-    }
+   
 
     var labelText: Text = Text {
         font: Font { size: 20
@@ -260,49 +234,28 @@
     }
 
     public function firstPage():Void{
-
         page = 0;
       //  doLayout(this);
-
     }
 
     public function lastPage():Void{
-        page = 15;  // fix this
+       page = 15;  // Todo : fix this
        // doLayout(this);
-
-
     }
 
    
 
-    public function moveUp(position:Integer):Void {
+   
 
-        scrollPanel.content[
-        position - 1].requestFocus();
-    }
+  
 
-    public function moveDown(position:Integer):Void {
-
-        scrollPanel.content[
-        position + 1].requestFocus();
-    }
-
-    public function scrollUp(position:Integer):Void {
-        verticalScroll.position -= position
-    }
-
-    public function scrollDown(position:Integer):Void {
-        verticalScroll.position += position
-    }
-
-
     public function refresh():Void {
         statuses = statusRetreiver(groupFilter, 
filterBy,page,unreadOnly,order,keywords);
         //delete scrollPanel.content;
         var urls: String[];
        
      //   UrlResolver.resolveURLs(urls);
-        println("statuses have been refreshed!");
+        //println("statuses have been refreshed!");
 
     }
 
@@ -340,6 +293,8 @@
             previousPage();
             refresh();
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonPreviousIconUI().previous_icon)
+
     }
     var forwardButton: TinyButton =
     TinyButton {
@@ -351,6 +306,8 @@
             nextPage();
             refresh();
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonNextIconUI().next_icon)
+
     }
 
     var allButton: TinyButton =
@@ -363,6 +320,8 @@
             unreadOnly = false;
             refresh();
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonViewAllTweetsIconUI().view_all_tweets_icon)
+
     }
 
     var unreadButton: TinyButton =
@@ -375,6 +334,8 @@
             unreadOnly = true;
             refresh();
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonViewUnreadTweetsIconUI().view_unread_tweets_icon)
+
     }
 
     var markAllButton: TinyButton = TinyButton {
@@ -394,7 +355,8 @@
             }
             refresh();
         }
-    }
+    iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonMarkThisPageOfTweetsReadIconUI().mark_this_page_of_tweets_read_icon)
+ }
 
     
     function 
getFilterText(filterBya:String,unreadOnlya:Boolean,groupFiltera:TweetGroup):String
 {
@@ -449,7 +411,8 @@
         }
     }
 
-
+    var newest_first_icon = 
Duplicator.duplicate(TwitterFXUI.getCommonSortIconUI().sort_by_newest_tweet_first_icon);
+    var oldest_first_icon = 
Duplicator.duplicate(TwitterFXUI.getCommonSortIconUI().sort_by_oldest_tweet_first_icon);
     var ascending: TinyButton = TinyButton {
      //   enabled: bind if (order == ASCENDING) true else false
         // text: "oldest first"
@@ -464,6 +427,7 @@
              {   sortAscending();}
            
         }
+        iconNode: bind if (order == ASCENDING) oldest_first_icon else 
newest_first_icon;
     }
 
  var refreshButton: TinyButton = TinyButton {
@@ -473,12 +437,15 @@
         icon: "grey/Refresh"
         label: "Refresh this view"
         action: function() {
+            Main.refreshTimeline.pause();
+            //TwitterAPI.friendTimeline();
+            Main.refreshTimeline.play();
             refresh()
         }
+        
iconNode:Duplicator.duplicate(TwitterFXUI.getCommonRefreshIconUI().refresh_icon);
     }
 
-
-    var close: TinyButton = TinyButton {
+var close: TinyButton = TinyButton {
       //  disabled: bind if (order == DESCENDING) true else false
         //  text: "newest first"
         //  size: 10
@@ -487,6 +454,7 @@
         action: function() {
             Main.removePanel(this)
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonCloseControlIconUI().close_control_icon)
     }
 
 
@@ -494,7 +462,7 @@
         translateX: bind Main.panelWidth - (sortOrderText.layoutBounds.width 
+ 13)
         translateY: 1
         spacing: 2
-        content: bind [refreshButton,ascending, close]
+        content: bind [backButton, forwardButton, refreshButton,ascending, 
close]
     }
 
 
@@ -502,6 +470,7 @@
 
     public override function create(): Node {
 
+       
         for (i in [0..Main.twitterConfig.maxTweetsPerPage]) {
 
 //Bind here and the world ends.
@@ -516,9 +485,21 @@
 
         }
 
+        // added by zhuliang
+       /* imageView = ImageView {
+            x: Main.panelWidth / 2 - 50
+            y: 60
+            fitHeight: 98
+            fitWidth: 98
+            //translateX: bind if (shortLabel != "") 
(labelText.layoutBounds.width - width) / 2 else 0
+            image: bind 
CachedImageLoader.cachedImageLoader("{__DIR__}loading.gif",false);
+            visible: bind if (scrollPanel.content.size() == 0 or 
Main.isLoading == false) false else not scrollPanel.content[0].visible
+        }*/
         /*insert
         HBox { content: [firstButton, backButton, forwardButton, lastButton]
         } into scrollPanel.content; */
+        
+        //def myHBox:HBox = HBox { content: [/*firstButton,*/ backButton, 
forwardButton/*, lastButton*/]};
 
         return Group {
             onMouseWheelMoved: function( e: MouseEvent ):Void {
@@ -531,16 +512,20 @@
                     translateY: 0
                     spacing: 2
                     content: [allButton, unreadButton, 
markAllButton,searchBox]
-                },labelText,
+                },labelText,//myHBox
                 Group {
                     translateY: 20
                     clip: Rectangle {
                         
                         width: bind width
-                        height: bind height
+                        height: bind height - 20
                     } 
                     content: [scrollPanel]
-                },verticalScroll,activeFilters,sortOrderText]
+                },verticalScroll,activeFilters,
+                  Group {
+                    translateX: -8
+                    content : [sortOrderText]
+                    }/*,imageView*/]
         };
     }
 
@@ -568,13 +553,4 @@
 
   
 
-}
-
-
-
-
-
-
-
-
-
+}
\ No newline at end of file
Index: twitterfx/src/twitterfx/panels/GroupFriendPanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/GroupFriendPanel.fx  (revision 35)
+++ twitterfx/src/twitterfx/panels/GroupFriendPanel.fx  (revision 36)
@@ -1,20 +1,31 @@
 /*
-   TwitterFX  http://herod.net/twitterfx/
-    Copyright (C) 2009 Steven Herod  (steven.herod@gmail.com)
+Copyright (c) 2009, Steven Herod
+All rights reserved.
 
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
 
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
+
 /*
  * TwifxerPanel.fx
  *
@@ -44,7 +55,7 @@
 
     var colCount: Integer = bind
     (java.lang.Math.floor((Main.panelWidth - 48) / 53))  as Integer on 
replace {
-        println("Col count is: {colCount}")
+        //println("Col count is: {colCount}")
     }
     var rowCount: Integer = bind if (colCount > 0 )
     (users.size() / colCount) as Integer else 0;
@@ -83,13 +94,4 @@
 
     }
 
-}
-
-
-
-
-
-
-
-
-
+}
\ No newline at end of file
Index: twitterfx/src/twitterfx/panels/loading.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: twitterfx/src/twitterfx/panels/loading.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: twitterfx/src/twitterfx/panels/bird1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: twitterfx/src/twitterfx/panels/bird1.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: twitterfx/src/twitterfx/panels/HomePanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/HomePanel.fx (revision 35)
+++ twitterfx/src/twitterfx/panels/HomePanel.fx (revision 36)
@@ -1,20 +1,31 @@
 /*
-   TwitterFX  http://herod.net/twitterfx/
-    Copyright (C) 2009 Steven Herod  (steven.herod@gmail.com)
+Copyright (c) 2009, Steven Herod
+All rights reserved.
 
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
 
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
+
 /*
  * TwifxerPanel.fx
  *
@@ -33,6 +44,7 @@
 import javafx.scene.Node;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Rectangle;
+import javafx.fxd.Duplicator;
 import twitterfx.components.BackgroundBox;
 import twitterfx.components.IconButton;
 import twitterfx.components.LanguageBox;
@@ -41,6 +53,7 @@
 import twitterfx.components.TinyButton;
 import twitterfx.components.TwitterBox;
 import twitterfx.Main;
+import twitterfx.lf.TwitterFXUI;
 
 
 public class HomePanel extends CustomNode {
@@ -65,7 +78,7 @@
         {
             timeline.rate =  -1.0;
             timeline.play();
-            println("showing panel");
+            //println("showing panel");
            
         }
 
@@ -77,7 +90,7 @@
         {
             timeline.rate =  1.0;
             timeline.play();
-            println("hide panel");
+            //println("hide panel");
            
         }
        
@@ -111,18 +124,21 @@
         height: 300
     }
 
-
+    def panelTranslateY = 155;
+    def buttonWidth = 58;
+    def buttonHeight = 58;
     var settings: IconButton = IconButton {
         position: position++
         icon: "grey/Gear"
-        height: 48
-        width: 48
+        height: buttonHeight
+        width: buttonWidth
         label: "Change your settings"
-        shortLabel: "Settings"
+        shortLabel: "Modes"
         action: function() {
             actionPanel = SettingsBox {   translateX: bind (rectangle.width 
- actionPanel.layoutBounds.width) / 2;
-    translateY: 125;}
+    translateY: panelTranslateY;}
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().settings_modes_icon)
     }
 
 
@@ -130,55 +146,61 @@
     var account: IconButton = IconButton {
         position: position++
         icon: "grey/Key"
-        height: 48
-        width: 48
+        height: buttonHeight
+        width: buttonWidth
         label: "Accounts"
         shortLabel: "Twitter"
         action: function() {
                actionPanel = TwitterBox {   translateX: bind 
(rectangle.layoutBounds.width - actionPanel.layoutBounds.width) / 2;
-    translateY: 125}
+    translateY: panelTranslateY}
         }
+       iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().settings_twitter_icon)
     }
 
 var background: IconButton = IconButton {
         position: position  + 1
         icon: "grey/Screen"
-        height: 48
-        width: 48
+        height: buttonHeight
+        width: buttonWidth
         label: "Wallpaper"
         shortLabel: "Wallpaper"
         action: function() {
                actionPanel = BackgroundBox {
                translateX: bind (rectangle.layoutBounds.width - 
actionPanel.layoutBounds.width) / 2;
-               translateY: 125}
+               translateY: panelTranslateY}
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().settings_wallpaper_icon)
     }
 
 var theme: IconButton = IconButton {
         position: position++
         icon: "grey/Wizard"
-        height: 48
-        width: 48
+        height: buttonHeight
+        width: buttonWidth
         label: "Theme"
         shortLabel: "Theme"
         action: function() {
                actionPanel = ThemeBox {   translateX: bind 
(rectangle.layoutBounds.width - actionPanel.layoutBounds.width) / 2;
-    translateY: 125;}
+    translateY: panelTranslateY}
         }
+         iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().settings_theme_icon)
+
+
     }
 
 var language: IconButton = IconButton {
         position: position++
         icon: "grey/Flag"
-        height: 48
-        width: 48
+        height: buttonHeight
+        width: buttonWidth
         label: "Language"
         shortLabel: "Language"
         action: function() {
                     
             actionPanel = LanguageBox {   translateX: bind 
(rectangle.layoutBounds.width - actionPanel.layoutBounds.width) / 2;
-    translateY: 125;}
+    translateY: panelTranslateY}
         }
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().settings_language_icon)
     }
 
      var close: TinyButton = TinyButton {
@@ -190,6 +212,9 @@
         action: function() {
             togglePanel();
         }
+
+        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonCloseControlIconUI().close_control_icon)
+        
     }
 
 
@@ -204,11 +229,12 @@
 
 var actionPanel: LanguageBox = LanguageBox {
     translateX: bind (rectangle.layoutBounds.width - 
actionPanel.layoutBounds.width) / 2;
-    translateY: 125;
+    translateY: panelTranslateY;
     }
 
+    def iconsTranslateY = 35;
     var icons:HBox = HBox {
-            translateY: 25
+            translateY: iconsTranslateY
             translateX: bind ((width - icons.layoutBounds.width) / 2)
             spacing: 10
             content: [account, settings, background,theme, language]
@@ -219,6 +245,7 @@
                 translateX: bind ((scene.width - width) / 2)
                 translateY: bind translateY;
                 content: [rectangle,sortOrderText, Group {  content: bind 
[icons,actionPanel] }]
+
         }
 
 
@@ -235,12 +262,4 @@
         return group;
 
     }
-}
-
-
-
-
-
-
-
-
+}
\ No newline at end of file
Index: twitterfx/src/twitterfx/panels/HorizontalScroll.fx
===================================================================
--- twitterfx/src/twitterfx/panels/HorizontalScroll.fx  (revision 35)
+++ twitterfx/src/twitterfx/panels/HorizontalScroll.fx  (revision 36)
@@ -1,4 +1,31 @@
 /*
+Copyright (c) 2009, Steven Herod
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
  * Scroll.fx
  *
  * Created on Dec 10, 2008, 7:23:18 AM
@@ -87,5 +114,4 @@
   }
 
     }
-}
-
+}
\ No newline at end of file
Index: twitterfx/src/twitterfx/panels/WelcomePanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/WelcomePanel.fx      (revision 35)
+++ twitterfx/src/twitterfx/panels/WelcomePanel.fx      (revision 36)
@@ -1,4 +1,30 @@
 /*
+Copyright (c) 2009, Steven Herod
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
  * WelcomePanel.fx
  *
  * Created on Jan 7, 2009, 9:16:37 PM
@@ -9,15 +35,14 @@
 import javafx.animation.Interpolator;
 import javafx.animation.KeyFrame;
 import javafx.animation.Timeline;
-import javafx.ext.swing.SwingButton;
 import javafx.ext.swing.SwingTextField;
+import javafx.fxd.Duplicator;
 import javafx.scene.Cursor;
 import javafx.scene.CustomNode;
 import javafx.scene.Group;
 import javafx.scene.image.Image;
 import javafx.scene.image.ImageView;
 import javafx.scene.input.MouseEvent;
-import javafx.scene.layout.HBox;
 import javafx.scene.layout.VBox;
 import javafx.scene.Node;
 import javafx.scene.paint.Color;
@@ -29,9 +54,9 @@
 import twitterfx.components.CenteredGroup;
 import twitterfx.components.CenteredRectangle;
 import twitterfx.components.SwingPasswordField;
-import twitterfx.components.TextButton;
+import twitterfx.components.TinyButton;
+import twitterfx.lf.TwitterFXUI;
 import twitterfx.Main;
-import javafx.ext.swing.SwingLabel;
 
 /**
  * @author steven
@@ -108,14 +133,14 @@
     }
 
     var logo:Image = Image{
-        url: "{__DIR__}config.gif"
+        url: "{__DIR__}bird1.png"
 
     }
 
     var logoView:ImageView = ImageView {
         //  // translateX: bind ((this.Main.panelWidth - 
this.layoutBounds.width) / 2)
         image: logo
-        fitWidth:300
+        fitWidth:100
         preserveRatio: true
         smooth: true
     }
@@ -123,13 +148,13 @@
     var logoView1:ImageView = ImageView {
         //  // translateX: bind ((this.Main.panelWidth - 
this.layoutBounds.width) / 2)
         image: logo
-        fitWidth:300
+        fitWidth:100
         preserveRatio: true
         smooth: true
     }
 
     var bird:Image = Image{
-        url: "{__DIR__}bird.png"
+        url: "{__DIR__}bird1.png"
 
     }
 
@@ -170,16 +195,14 @@
 }
     
 
-    var loginButton:SwingButton = SwingButton {
-        text: "Login"
-      
-        font: Font {  size: 24 }
+    var loginButton:TinyButton = TinyButton {
         action: function() {
             login()
-
         }
-    }
+        
iconNode:Duplicator.duplicate(TwitterFXUI.getCommonLoginIconUI().login_icon);
 
+}
+
     function login():Void {
         Main.twitterConfig.username = username.text;
         Main.twitterConfig.password = password.text;
@@ -193,8 +216,6 @@
 
     var license:Text = Text {
         translateY: 40
-        
-        
         fill: Color.WHITE
         wrappingWidth: 300
         content: "twitterFX  Copyright (C) 2008/2009 Steven Herod\nThis 
program comes with ABSOLUTELY NO WARRANTY, This is free software, and you are 
welcome to redistribute it under certain conditions;"
@@ -233,12 +254,11 @@
 
    
     var bluebirdText:Text = Text {
-       
         
-        
         fill: Color.WHITE
         wrappingWidth: 300
         content: "Blue Bird logo by Gopal Raju"
+        //content: ""
         font: Font {
             name: "Lucida Grande"
             size: 11
@@ -275,11 +295,10 @@
         visible: true
        
         spacing: 5
-        content: [logoView, username, password, loginButton, license, 
axailis, bluebird /*, jOrtho,*/]
+        content: [logoView, username, password, loginButton, license, 
axailis /*, jOrtho,*/]
     }
 
-                    
-
+                   
   
 
 
Index: twitterfx/src/twitterfx/panels/GroupPanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/GroupPanel.fx        (revision 35)
+++ twitterfx/src/twitterfx/panels/GroupPanel.fx        (revision 36)
@@ -1,20 +1,31 @@
 /*
-   TwitterFX  http://herod.net/twitterfx/
-    Copyright (C) 2009 Steven Herod  (steven.herod@gmail.com)
+Copyright (c) 2009, Steven Herod
+All rights reserved.
 
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
 
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
+
 /*
  * TwifxerPanel.fx
  *
@@ -25,6 +36,7 @@
  * @author steven
  */
 
+import javafx.fxd.Duplicator;
 import javafx.scene.CustomNode;
 import javafx.scene.Group;
 import javafx.scene.input.MouseEvent;
@@ -32,6 +44,7 @@
 import javafx.scene.layout.VBox;
 import javafx.scene.Node;
 import javafx.scene.paint.Color;
+import javafx.scene.shape.Line;
 import javafx.scene.shape.Rectangle;
 import javafx.scene.text.Font;
 import javafx.scene.text.Text;
@@ -43,6 +56,7 @@
 import twitterfx.Main;
 import twitterfx.panels.VerticalScroll;
 import twitterfx.twitter.TweetGroup;
+import twitterfx.lf.TwitterFXUI;
 
 public class GroupPanel extends CustomNode {
 
@@ -51,12 +65,13 @@
     public var remoteCall: function():Void;
     var colCount: Integer = bind
     (java.lang.Math.floor((Main.panelWidth - 48) / 53))  as Integer on 
replace {
-        println("Col count is: {colCount}")
+        //println("Col count is: {colCount}")
     }
     public var height: Number;
     public var width: Number;
     public var label: String;
 
+    def groupSpacing = 8;
     var rowCount: Integer = bind if (colCount > 0 )
     (groups.size() / colCount) as Integer else 0;
 
@@ -65,10 +80,18 @@
         translateY: bind (-1 * verticalScroll.yOffset)
         //height: bind height;
        // width: bind width;
+        spacing:groupSpacing;
+    }
 
+    var DIVIDE: Node = Line {
+        fill: Color.WHITE
+        stroke: Color.LIGHTGRAY
+               startX: 1
+           startY: 1
+               endY: 1
+        endX: bind Main.panelWidth - verticalScroll.layoutBounds.width - 35;
     }
 
-
     public var verticalScroll: VerticalScroll = VerticalScroll {
         translateY: 0
         translateX: bind (Main.panelWidth - 
verticalScroll.layoutBounds.width)
@@ -87,6 +110,8 @@
          
           visible = false
         }
+       iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonCloseControlIconUI().close_control_icon)
+
     }
 
 
@@ -105,8 +130,8 @@
         colCount: bind colCount
         rowCount: bind rowCount;
         icon: "grey/Group"
-        height: 48
-        width: 48
+        height: 58
+        width: 58
         label: "AddGroup"
         shortLabel: "Add Group"
         action: function() {
@@ -117,7 +142,7 @@
                 icon: "grey/Group"
                 tweetGroup: tweetgroup
                 action: function() {
-                    println("Clicked Group icon");
+                    //println("Clicked Group icon");
                     var newPanel:StatusPanel = StatusPanel { id: 
"group_{tweetgroup.id}" notificationText: "updates in group {tweetgroup.name}"
                     
     width: bind Main.panelWidth
@@ -130,22 +155,49 @@
                     //togglePanel();
                 }
                 shiftaction: function() {
-                    println("Executing shift action");
+                    //println("Executing shift action");
                     Main.twitterDB.deleteGroup(tweetgroup.id);
 
                 }
+                iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().group_icon)
             }
-           insert groupNode after scrollPanel.content[0];
+
+            insert groupNode after scrollPanel.content[0];
+            // add divider between two group nodes;
+            {
+                var divider = Duplicator.duplicate(DIVIDE);
+                insert divider after scrollPanel.content[0];
+            }
+            
            groupNode.requestEditFocus();
         }
+       //iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonNewGroupIcon01UI().group_icon)
+       iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().group_icon)
     }
 
+
    public function deleteGroup(tweetNode:GroupNode)
    {
        tweetNode.tweetGroup.isDeleted = true;
            // Main.twitterDB.deleteStatus(status.id);
        Main.twitterDB.deleteGroup(tweetNode.tweetGroup.id);
-       delete scrollPanel.content[tweetNode.position+1]; //because the 
positions are off by one because of the 'Add Group' button
+       var found = false;
+       var index = -1;
+       for(node in scrollPanel.content){
+           index++;
+           // remove the group node
+           if ( node == tweetNode){
+               found = true;
+               delete node from scrollPanel.content;
+               break;
+           }
+       }
+       // remove the above divider
+       if (found and index >= 0){
+         delete scrollPanel.content[index-1] from scrollPanel.content;
+       }
+
+       //delete scrollPanel.content[tweetNode.position+1]; //because the 
positions are off by one because of the 'Add Group' button
    }
 
 
@@ -159,13 +211,19 @@
         var position: Integer = 0;
         insert addGroup into scrollPanel.content;
         for (tweetgroup in groups) {
+            // add divider between two group nodes;
+            {
+                var divider = Duplicator.duplicate(DIVIDE);
+                insert divider into scrollPanel.content;
+            }
+
  insert
           GroupNode {
               groupPanel: this;
                 icon: "grey/Group"
                 tweetGroup: tweetgroup
                 action: function() {
-                    println("Clicked Group icon");
+                    //println("Clicked Group icon");
                     var newPanel:StatusPanel = StatusPanel { id: 
"group_{tweetgroup.id}" notificationText: "updates in group {tweetgroup.name}"
 
     width: bind Main.panelWidth
@@ -178,15 +236,16 @@
                     //togglePanel();
                 }
                 shiftaction: function() {
-                    println("Executing shift action");
+                    //println("Executing shift action");
                     Main.twitterDB.deleteGroup(tweetgroup.id);
 
                 }
+                iconNode: 
Duplicator.duplicate(TwitterFXUI.getTwitterFXUI().group_icon)
             
             } into scrollPanel.content;
             
         }
-        println("Inserted count of users in panel was: {count}")
+        //println("Inserted count of users in panel was: {count}")
 
     }
 
@@ -228,13 +287,4 @@
             },verticalScroll,sortOrderText]
         };
     }
-}
-
-
-
-
-
-
-
-
-
+}
\ No newline at end of file
Index: twitterfx/src/twitterfx/panels/ScrollPanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/ScrollPanel.fx       (revision 35)
+++ twitterfx/src/twitterfx/panels/ScrollPanel.fx       (revision 36)
@@ -1,4 +1,31 @@
 /*
+Copyright (c) 2009, Steven Herod
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
  * ScrollPanel.fx
  *
  * Created on Dec 10, 2008, 7:23:29 AM
@@ -44,4 +71,4 @@
     }
 
  
-}
+}
\ No newline at end of file
Index: twitterfx/src/twitterfx/panels/The Deck.css
===================================================================
--- twitterfx/src/twitterfx/panels/The Deck.css (revision 35)
+++ twitterfx/src/twitterfx/panels/The Deck.css (revision 36)
@@ -23,6 +23,11 @@
     replyFillColor: #3f322a;
 }
 
+.directNode {
+    friendFillColor: #3d3d3d;
+    replyFillColor: #3f322a;
+}
+
 .topMenuBar {
     fill: #3d3d3d;
 }
Index: twitterfx/src/twitterfx/panels/SendTweetPanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/SendTweetPanel.fx    (revision 35)
+++ twitterfx/src/twitterfx/panels/SendTweetPanel.fx    (revision 36)
@@ -1,20 +1,31 @@
-/* 
-   TwitterFX  http://herod.net/twitterfx/
-    Copyright (C) 2009 Steven Herod  (steven.herod@gmail.com) 
+/*
+Copyright (c) 2009, Steven Herod
+All rights reserved.
 
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
 
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
+
 /*
  * SendTweetPanel.fx
  *
@@ -23,6 +34,7 @@
 
 package twitterfx.panels;
 
+import javafx.fxd.Duplicator;
 import java.io.File;
 import javafx.ext.swing.SwingButton;
 import javafx.scene.CustomNode;
@@ -46,23 +58,25 @@
 import twitterfx.panels.SendTweetPanel.OpenFileFilter;
 import twitterfx.twitpic.TwitPicAsync;
 import twitterfx.twitpic.TwitPicData;
+import twitterfx.lf.TwitterFXUI;
 
+
 /**
  * @author steven
  */
 
 public class SendTweetPanel extends CustomNode {
     var isRevealed:Boolean;
-    var animationY:Number;   
+    var animationY:Number;
     var fileChooser:JFileChooser;
     var strokeCount:Integer = bind tweetBox.length;
     var buttons:Group;
     def tweetPanelWidth: Integer = 350;
 
-  
-    
+
+
     public var tweetBox:TweetTextComponent = TweetTextComponent{
-       
+
         translateY: 5;
         width: bind (tweetPanelWidth - 120)
         onSend: function () {
@@ -71,8 +85,8 @@
 
     };
 

 
+
     var countText:Text =
     Text {
         translateX: bind (tweetPanelWidth - (countText.layoutBounds.width + 
40))
@@ -100,9 +114,11 @@
         action: function() {
             toggleTweetPanel();
         }
+       iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonCloseControlIconUI().close_control_icon)
+
     }
 
-    
+
     var tweetPanel:Group = Group {
         translateY: 30
         content: [
@@ -119,7 +135,7 @@
                     stops: [ Stop {
                             offset: 0.0
                             color: Color.web("#CCCCCC") },
-                     
+
                         Stop {
                             offset: 0.32
                         color: Color.WHITE }]
@@ -139,10 +155,9 @@
                         label: "Insert link using is.gd"
                         action: function() {
                             Main.urlEntryDialog.showWindow();
-                           
-                         
+                        }
+                        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonInsertLinksUsingIS_GDIconUI().inset_links_using_is_gd_icon)
 
-                        }
                     },
                     TinyButton {
                         translateX: 30
@@ -151,7 +166,7 @@
                         icon: "grey/Photo"
                         label: "Upload picture via TwitPic"
                         action: function() {
-                           
+
                             var bgUrl:File;
                             var fc = getFileChooser(true);
 
@@ -172,6 +187,8 @@
                                 }
                             }
                         }
+                        iconNode: 
Duplicator.duplicate(TwitterFXUI.getCommonUploadPictureIconUI().upload_picture_via_twitpic_icon)
+
                     }]
             }
 
@@ -204,7 +221,7 @@
     public function hideTweetPanel():Void{
        visible = false;
         isRevealed = false;
-       
+
     }
 
     public function toggleTweetPanel():Void{
@@ -236,8 +253,8 @@
         translateY: 40
         content: [okButton, cancelButton]
     }
-   
 
+
     var mainPanel:Group =
     Group {
 
@@ -248,18 +265,18 @@
                 height: 150
                 width: bind tweetPanelWidth },close,
             VBox {
-               
+
                 content: [tweetPanel,buttonGroup
-                    
+
                 ] } ] }
-    
 
 
-  
+
+
     override protected function create() : Node {
 
         return HBox {
-           
+
             blocksMouse:true;
             translateY: bind (scene.height - mainPanel.layoutBounds.height) 
/ 2;
             translateX: bind (scene.width - mainPanel.layoutBounds.width) / 
2;
Index: twitterfx/src/twitterfx/panels/TopControlPanel.fx
===================================================================
--- twitterfx/src/twitterfx/panels/TopControlPanel.fx   (revision 35)
+++ twitterfx/src/twitterfx/panels/TopControlPanel.fx   (revision 36)
@@ -1,20 +1,31 @@
-/* 
-   TwitterFX  http://herod.net/twitterfx/
-    Copyright (C) 2009 Steven Herod  (steven.herod@gmail.com) 
+/*
+Copyright (c) 2009, Steven Herod
+All rights reserved.
 
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+* Neither the name of the Steven Herod nor the names of its contributors may 
be
+used to endorse or promote products derived from this software without 
specific
+prior written permission.
 
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, E
[truncated due to length]



[twitterfx~subversion:36] Updated copyright notices to be BSD license.

sherod 08/07/2009
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120127.ac94057)
 
 
Close
loading
Please Confirm
Close