You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2014/04/29 22:32:41 UTC
svn commit: r1591089 - in /pivot/trunk:
wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/
Author: rwhitcomb
Date: Tue Apr 29 20:32:41 2014
New Revision: 1591089
URL: http://svn.apache.org/r1591089
Log:
PIVOT-947: Add hooks to VFS Browser dialog to add components.
* Add two methods to the TerraVFSBrowserSheetSkin:
. "addLabelComponent"
. "getBrowser"
* Implement "addLabelComponent" there by adding the component to the "hostNameBoxPane".
* Add new constructor to VFSBrowserSheet to take FileObject values instead of Strings.
* Extend the VFSBrowser.Skin interface to add an "addActionComponent" method and implement
it by deferring to the real skin.
* Make the button BoxPane accessible to the TerraVFSBrowserSkin from the bxml and implement
"addActionComponent" by adding the new component there.
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml
pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java Tue Apr 29 20:32:41 2014
@@ -608,4 +608,14 @@ public class TerraVFSBrowserSheetSkin ex
Sequence<TablePane.Row> rows = tablePane.getRows();
rows.insert(row, rows.getLength() - 1);
}
+
+ public void addLabelComponent(Component component) {
+ hostNameBoxPane.setVisible(true);
+ hostNameBoxPane.add(component);
+ }
+
+ public VFSBrowser getBrowser() {
+ return this.fileBrowser;
+ }
+
}
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java Tue Apr 29 20:32:41 2014
@@ -756,6 +756,8 @@ public class TerraVFSBrowserSkin extends
private Component content = null;
@BXML
+ private BoxPane pushButtonPane = null;
+ @BXML
private ListButton driveListButton = null;
@BXML
private ListButton pathListButton = null;
@@ -1159,6 +1161,11 @@ public class TerraVFSBrowserSkin extends
return file;
}
+ @Override
+ public void addActionComponent(Component component) {
+ pushButtonPane.add(component);
+ }
+
public boolean isKeyboardFolderTraversalEnabled() {
return keyboardFolderTraversalEnabled;
}
@@ -1463,4 +1470,5 @@ public class TerraVFSBrowserSkin extends
}
}));
}
+
}
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/terra_vfs_browser_skin.bxml Tue Apr 29 20:32:41 2014
@@ -54,7 +54,7 @@ limitations under the License.
</itemRenderer>
</ListButton>
- <BoxPane styles="{verticalAlignment:'center', spacing:0}">
+ <BoxPane bxml:id="pushButtonPane" styles="{verticalAlignment:'center', spacing:0}">
<PushButton bxml:id="goUpButton" styles="{toolbar:true}" tooltipText="%goUp">
<content:ButtonData icon="@folder_up.png"/>
</PushButton>
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java Tue Apr 29 20:32:41 2014
@@ -43,6 +43,7 @@ public class VFSBrowser extends Containe
*/
public interface Skin extends org.apache.pivot.wtk.Skin {
public FileObject getFileAt(int x, int y);
+ public void addActionComponent(Component component);
}
private static final URI USER_HOME = new File(System.getProperty("user.home")).toURI();
@@ -496,6 +497,11 @@ public class VFSBrowser extends Containe
return fileBrowserSkin.getFileAt(x, y);
}
+ public void addActionComponent(Component component) {
+ VFSBrowser.Skin fileBrowserSkin = (VFSBrowser.Skin) getSkin();
+ fileBrowserSkin.addActionComponent(component);
+ }
+
public ListenerList<VFSBrowserListener> getFileBrowserListeners() {
return fileBrowserListeners;
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java?rev=1591089&r1=1591088&r2=1591089&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java Tue Apr 29 20:32:41 2014
@@ -192,6 +192,48 @@ public class VFSBrowserSheet extends She
installSkin(VFSBrowserSheet.class);
}
+ /**
+ * Creates a new VFSBrowserSheet
+ * <p>
+ * Note that this version of the constructor must be used when a custom home folder has to be set.
+ *
+ * @param manager
+ * The VFS FileSystemManager that we will be browsing. If <tt>null</tt> the default (local) will
+ * be used.
+ *
+ * @param mode
+ * The mode for opening the sheet.
+ * @see Mode
+ *
+ * @param rootFolder
+ * The root folder object.
+ *
+ * @param homeFolder
+ * The default for the "home" folder object.
+ */
+ public VFSBrowserSheet(FileSystemManager manager, Mode mode, FileObject rootFolder, FileObject homeFolder)
+ throws FileSystemException
+ {
+ if (mode == null) {
+ throw new IllegalArgumentException("Mode is null.");
+ }
+
+ if (rootFolder == null) {
+ throw new IllegalArgumentException("Root folder is null.");
+ }
+
+ this.mode = mode;
+
+ // Note: these three methods all could trigger events, but since we're
+ // in the constructor and the skin isn't set yet, there will not be any
+ // listeners registered yet
+ setManager(manager);
+ setRootDirectory(rootFolder);
+ setHomeDirectory(homeFolder == null ? rootFolder : homeFolder);
+
+ installSkin(VFSBrowserSheet.class);
+ }
+
public FileSystemManager getManager() {
return manager;
}