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 |





