You can subscribe to this list here.
2007 |
Jan
|
Feb
(4) |
Mar
(59) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: <jlg...@us...> - 2007-03-04 10:10:47
|
Revision: 48 http://trivial.svn.sourceforge.net/trivial/?rev=48&view=rev Author: jlgeering Date: 2007-03-04 02:10:41 -0800 (Sun, 04 Mar 2007) Log Message: ----------- Added Paths: ----------- trunk/eclipse/easypaste/launch/EasyController_Mac.launch Removed Paths: ------------- trunk/eclipse/easypaste/launch/ClipboardReader.launch Deleted: trunk/eclipse/easypaste/launch/ClipboardReader.launch =================================================================== --- trunk/eclipse/easypaste/launch/ClipboardReader.launch 2007-03-04 10:04:36 UTC (rev 47) +++ trunk/eclipse/easypaste/launch/ClipboardReader.launch 2007-03-04 10:10:41 UTC (rev 48) @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> -<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="net.sf.trivial.easypaste.ClipboardReader"/> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> -<listEntry value="4"/> -</listAttribute> -<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="easypaste"/> -<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> -<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> -</listAttribute> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> -<listEntry value="/easypaste"/> -</listAttribute> -<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> -</launchConfiguration> Added: trunk/eclipse/easypaste/launch/EasyController_Mac.launch =================================================================== --- trunk/eclipse/easypaste/launch/EasyController_Mac.launch (rev 0) +++ trunk/eclipse/easypaste/launch/EasyController_Mac.launch 2007-03-04 10:10:41 UTC (rev 48) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> +<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="net.sf.trivial.easypaste.internal.mac.EasyController"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-ea"/> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="4"/> +</listAttribute> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="easypaste"/> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/easypaste"/> +</listAttribute> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +</launchConfiguration> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jlg...@us...> - 2007-03-04 10:04:35
|
Revision: 47 http://trivial.svn.sourceforge.net/trivial/?rev=47&view=rev Author: jlgeering Date: 2007-03-04 02:04:36 -0800 (Sun, 04 Mar 2007) Log Message: ----------- mac EasyController Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/EasyController.java Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/EasyController.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/EasyController.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/EasyController.java 2007-03-04 10:04:36 UTC (rev 47) @@ -0,0 +1,29 @@ +package net.sf.trivial.easypaste.internal.mac; + +import net.sf.trivial.easypaste.ClipboardReader; +import net.sf.trivial.easypaste.ClipboardWriter; +import net.sf.trivial.easypaste.DistributedClipboard; +import net.sf.trivial.easypaste.NotificationService; +import net.sf.trivial.easypaste.java.DistributedClipboardImpl; +import net.sf.trivial.easypaste.mac.ClipboardReaderImpl; + +public class EasyController { + + public static void main(String[] args) { + DistributedClipboard dclip = new DistributedClipboardImpl(); + ClipboardReader creader = new ClipboardReaderImpl(); + ClipboardWriter cwriter = new ClipboardWriterImpl(); + NotificationService not = new GrowlNotification(); + + dclip.setClipboardWriter(cwriter); + dclip.setNotificationService(not); + creader.setDistributedClipboard(dclip); + try { + creader.start(); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jlg...@us...> - 2007-03-04 10:02:13
|
Revision: 46 http://trivial.svn.sourceforge.net/trivial/?rev=46&view=rev Author: jlgeering Date: 2007-03-04 02:02:12 -0800 (Sun, 04 Mar 2007) Log Message: ----------- Mac ClipboardWriter Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/ClipboardWriterImpl.java Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/ClipboardWriterImpl.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/ClipboardWriterImpl.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/ClipboardWriterImpl.java 2007-03-04 10:02:12 UTC (rev 46) @@ -0,0 +1,24 @@ +package net.sf.trivial.easypaste.internal.mac; + +import com.apple.cocoa.application.NSPasteboard; +import com.apple.cocoa.foundation.NSMutableArray; + +import net.sf.trivial.easypaste.ClipboardWriter; + +public class ClipboardWriterImpl implements ClipboardWriter { + + private NSPasteboard pasteboard; + + public ClipboardWriterImpl() { + pasteboard = NSPasteboard.generalPasteboard(); + } + + public void writeToClipboard(String content) { + NSMutableArray nsa = new NSMutableArray(); + nsa.addObject(NSPasteboard.StringPboardType); + // TODO provide an owner object with callback. + pasteboard.declareTypes(nsa, null); + pasteboard.setStringForType(content, NSPasteboard.StringPboardType); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jlg...@us...> - 2007-03-04 10:00:19
|
Revision: 45 http://trivial.svn.sourceforge.net/trivial/?rev=45&view=rev Author: jlgeering Date: 2007-03-04 02:00:14 -0800 (Sun, 04 Mar 2007) Log Message: ----------- NotificationService Growl Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/NotificationService.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/GrowlNotification.java Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/NotificationService.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/NotificationService.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/NotificationService.java 2007-03-04 10:00:14 UTC (rev 45) @@ -0,0 +1,5 @@ +package net.sf.trivial.easypaste; + +public interface NotificationService { + public void notify(String title, String message); +} Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/GrowlNotification.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/GrowlNotification.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/internal/mac/GrowlNotification.java 2007-03-04 10:00:14 UTC (rev 45) @@ -0,0 +1,36 @@ +package net.sf.trivial.easypaste.internal.mac; + +import com.apple.cocoa.foundation.NSMutableArray; +import com.growl.Growl; + +import net.sf.trivial.easypaste.NotificationService; + +public class GrowlNotification implements NotificationService { + + private Growl growl; + private final static String GROWL_NOTIFICATION = "clipboard update"; + + public GrowlNotification() { + growl = new Growl("Easypaste", "logo.png"); + NSMutableArray nsa = new NSMutableArray(); + nsa.addObject(GROWL_NOTIFICATION); + growl.setAllowedNotifications(nsa); + try { + growl.setDefaultNotifications(nsa); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + growl.register(); + } + + public void notify(String title, String message) { + try { + growl.notifyGrowlOf(GROWL_NOTIFICATION, title, message); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fte...@us...> - 2007-03-03 20:35:18
|
Revision: 44 http://trivial.svn.sourceforge.net/trivial/?rev=44&view=rev Author: fterrier Date: 2007-03-03 12:35:16 -0800 (Sat, 03 Mar 2007) Log Message: ----------- added network client + server added presence service Modified Paths: -------------- trunk/eclipse/easypaste/src/easypaste/BrowserClass.java trunk/eclipse/easypaste/src/easypaste/ResolverClass.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkClient.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkServer.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/Peer.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PeerImpl.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PresenceProvider.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/ServiceRegistry.java Removed Paths: ------------- trunk/eclipse/easypaste/src/easypaste/Service.java trunk/eclipse/easypaste/src/easypaste/ServiceRegistry.java Modified: trunk/eclipse/easypaste/src/easypaste/BrowserClass.java =================================================================== --- trunk/eclipse/easypaste/src/easypaste/BrowserClass.java 2007-03-03 20:26:59 UTC (rev 43) +++ trunk/eclipse/easypaste/src/easypaste/BrowserClass.java 2007-03-03 20:35:16 UTC (rev 44) @@ -1,5 +1,7 @@ package easypaste; +import net.sf.trivial.easypaste.presence.ServiceRegistry; + import com.apple.dnssd.BrowseListener; import com.apple.dnssd.DNSSD; import com.apple.dnssd.DNSSDService; Modified: trunk/eclipse/easypaste/src/easypaste/ResolverClass.java =================================================================== --- trunk/eclipse/easypaste/src/easypaste/ResolverClass.java 2007-03-03 20:26:59 UTC (rev 43) +++ trunk/eclipse/easypaste/src/easypaste/ResolverClass.java 2007-03-03 20:35:16 UTC (rev 44) @@ -1,5 +1,11 @@ package easypaste; +import java.net.InetAddress; +import java.net.UnknownHostException; + +import net.sf.trivial.easypaste.presence.PeerImpl; +import net.sf.trivial.easypaste.presence.ServiceRegistry; + import com.apple.dnssd.DNSSD; import com.apple.dnssd.DNSSDException; import com.apple.dnssd.DNSSDService; @@ -38,17 +44,23 @@ String hostName, int port, TXTRecord txtRecord) { System.out.println ("Service " + fullName + " is at " + hostName + ":" + port); - // create new Service object - Service service = new Service (serviceName, regType, domain, hostName, port); - - // register service - ServiceRegistry.getInstance().register(service); - - // print the list of registered services - ServiceRegistry.getInstance().printList(); - - // stop this resolver - stop (); + try { + // create new Service object + PeerImpl service = new PeerImpl (serviceName, regType, domain, + InetAddress.getByName(hostName), port); + + // register service + ServiceRegistry.getInstance().register(service); + + // print the list of registered services + ServiceRegistry.getInstance().printList(); + + // stop this resolver + stop (); + } + catch (UnknownHostException e) { + // TODO + } } /** method from ResolveListener */ Deleted: trunk/eclipse/easypaste/src/easypaste/Service.java =================================================================== --- trunk/eclipse/easypaste/src/easypaste/Service.java 2007-03-03 20:26:59 UTC (rev 43) +++ trunk/eclipse/easypaste/src/easypaste/Service.java 2007-03-03 20:35:16 UTC (rev 44) @@ -1,31 +0,0 @@ -package easypaste; - -/** - * Service, qualified by its name (e.g. Flebeleb), type (e.g. _flebeleb._tcp), - * domain (e.g. local.), hostName (e.g. xrb.local.) and port (e.g. 11111) - * - * @author pajai - */ -public class Service { - - /* attributes gotten from the browse operation */ - String name; - String type; - String domain; - - /* attributes gotten from the resolve operation */ - String hostName; - int port; - - public Service (String name, String type, String domain, String hostName, int port) { - this.name = name; - this.type = type; - this.domain = domain; - this.hostName = hostName; - this.port = port; - } - - public String toString () { - return name + " " + type + " " + domain + " " + hostName + ":" + String.valueOf(port); - } -} Deleted: trunk/eclipse/easypaste/src/easypaste/ServiceRegistry.java =================================================================== --- trunk/eclipse/easypaste/src/easypaste/ServiceRegistry.java 2007-03-03 20:26:59 UTC (rev 43) +++ trunk/eclipse/easypaste/src/easypaste/ServiceRegistry.java 2007-03-03 20:35:16 UTC (rev 44) @@ -1,60 +0,0 @@ -package easypaste; - -import java.util.HashMap; -import java.util.Iterator; - -/** - * Registry for existing services - * - * @author pajai - */ -public class ServiceRegistry { - - /** service map */ - HashMap services = new HashMap (); - - /** store instance */ - static private ServiceRegistry instance; - - private ServiceRegistry () {} - - /** get instance of this singlet class */ - public static synchronized ServiceRegistry getInstance () { - if (instance == null) - instance = new ServiceRegistry (); - - return instance; - } - - /** - * Register a service - */ - public synchronized void register (Service service) { - services.put(service.name, service); - } - - /** - * Test if a service is already registered - */ - public synchronized boolean isRegistered (String name) { - return services.containsKey(name); - } - - /** - * Unregister a service, using its service name - */ - public synchronized void unregister (String name) { - if (services.containsKey(name)) - services.remove(name); - } - - /** - * Print registered services - */ - public synchronized void printList () { - System.out.println ("Registered services:"); - for (Iterator it = services.values().iterator(); it.hasNext(); ) { - System.out.println ( ((Service)it.next()).toString() ); - } - } -} Modified: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java 2007-03-03 20:26:59 UTC (rev 43) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java 2007-03-03 20:35:16 UTC (rev 44) @@ -1,18 +1,52 @@ package net.sf.trivial.easypaste.java; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.net.ServerSocket; +import java.net.Socket; + import net.sf.trivial.easypaste.ClipboardWriter; import net.sf.trivial.easypaste.DistributedClipboard; +import net.sf.trivial.easypaste.presence.PresenceProvider; public class DistributedClipboardImpl implements DistributedClipboard { + private static final int PORT = 5555; + private ClipboardWriter localWriter; - + private PresenceProvider presenceService; + + private NetworkClient client; + private NetworkServer server; + + public DistributedClipboardImpl() { + client = new NetworkClient(); + server = new NetworkServer(this); + + init(); + } + + private void init() { + server.listen(PORT); + } + public void setClipboardWriter(ClipboardWriter writer) { localWriter = writer; } public void setLocalContent(String content) { System.out.println(content); + // send to network using network client + client.sendToAllClients(presenceService.getPeers(), content); } + public void setPresenceService(PresenceProvider presenceService) { + this.presenceService = presenceService; + } + + protected void writeToClipboard(String content) { + localWriter.writeToClipboard(content); + } + } Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkClient.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkClient.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkClient.java 2007-03-03 20:35:16 UTC (rev 44) @@ -0,0 +1,66 @@ +package net.sf.trivial.easypaste.java; + +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.util.Collection; + +import net.sf.trivial.easypaste.presence.Peer; +import net.sf.trivial.easypaste.presence.PeerImpl; + + +public class NetworkClient { + + public NetworkClient() { + } + + public void sendToClient(Peer service, String content) { + NetworkThread thread = new NetworkThread(service.getAddress(),service.getPort(),content); + // TODO do not run a new thread each time, instead use a thread pool + thread.start(); + } + + public void sendToAllClients(Collection<Peer> services, String content) { + for (Peer service : services) { + sendToClient(service, content); + } + } + + private static class NetworkThread extends Thread { + private int port; + private InetAddress address; + private String content; + + NetworkThread(InetAddress address, int port, String content) { + this.address = address; + this.port = port; + this.content = content; + } + + @Override + public void run() { + assert address != null && content != null; + + try { + Socket clientSocket = new Socket(); + + SocketAddress serverAddress = new InetSocketAddress(address,port); + clientSocket.connect(serverAddress); + + Writer writer = new OutputStreamWriter(clientSocket.getOutputStream()); + writer.write(content); + + writer.flush(); + clientSocket.close(); + } + catch (IOException e) { + + } + } + } + +} Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkServer.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkServer.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/NetworkServer.java 2007-03-03 20:35:16 UTC (rev 44) @@ -0,0 +1,71 @@ +package net.sf.trivial.easypaste.java; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.ServerSocket; +import java.net.Socket; + +import net.sf.trivial.easypaste.DistributedClipboard; + +public class NetworkServer { + + private DistributedClipboardImpl clipboard; + + public NetworkServer(DistributedClipboardImpl clipboard) { + this.clipboard = clipboard; + } + + private ServerSocket socket; + private boolean running; + + // TODO wrap around when MAX_LONG is reached + private long counter = 0; + + public void listen(int port) { + try { + running = true; + while (running) { + socket = new ServerSocket(port); + Socket clientSocket = socket.accept(); + if (!running) return; + counter++; + NetworkThread thread = new NetworkThread(clientSocket,counter); + thread.start(); + } + } + catch (IOException e) { + // TODO + } + } + + public void stop() { + running = false; + } + + private class NetworkThread extends Thread { + private Socket clientSocket; + private long id; + + NetworkThread(Socket clientSocket, long id) { + this.clientSocket = clientSocket; + this.id = id; + } + + public void run() { + try { + InputStreamReader reader = new InputStreamReader(clientSocket.getInputStream()); + StringBuilder str = new StringBuilder(); + char[] tmp = new char[256]; + while (reader.read(tmp)!=-1) { + str.append(tmp); + } + if (counter == id) clipboard.writeToClipboard(str.toString()); + } + catch (IOException e) { + // TODO + } + } + + } + +} Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/Peer.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/Peer.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/Peer.java 2007-03-03 20:35:16 UTC (rev 44) @@ -0,0 +1,13 @@ +package net.sf.trivial.easypaste.presence; + +import java.net.InetAddress; + +public interface Peer { + + public InetAddress getAddress(); + + public int getPort(); + + public String getName(); + +} Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PeerImpl.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PeerImpl.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PeerImpl.java 2007-03-03 20:35:16 UTC (rev 44) @@ -0,0 +1,45 @@ +package net.sf.trivial.easypaste.presence; + +import java.net.InetAddress; + +/** + * Service, qualified by its name (e.g. Flebeleb), type (e.g. _flebeleb._tcp), + * domain (e.g. local.), hostName (e.g. xrb.local.) and port (e.g. 11111) + * + * @author pajai + */ +public class PeerImpl implements Peer { + + /* attributes got from the browse operation */ + private final String name; + private final String type; + private final String domain; + + /* attributes got from the resolve operation */ + private final InetAddress address; + private final int port; + + public PeerImpl (String name, String type, String domain, InetAddress address, int port) { + this.name = name; + this.type = type; + this.domain = domain; + this.address = address; + this.port = port; + } + + public InetAddress getAddress() { + return address; + } + + public int getPort() { + return port; + } + + public String getName() { + return name; + } + + public String toString () { + return name + " " + type + " " + domain + " " + address + ":" + String.valueOf(port); + } +} Property changes on: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PeerImpl.java ___________________________________________________________________ Name: svn:executable + * Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PresenceProvider.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PresenceProvider.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/PresenceProvider.java 2007-03-03 20:35:16 UTC (rev 44) @@ -0,0 +1,9 @@ +package net.sf.trivial.easypaste.presence; + +import java.util.Collection; + +public interface PresenceProvider { + + public Collection<Peer> getPeers(); + +} Copied: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/ServiceRegistry.java (from rev 43, trunk/eclipse/easypaste/src/easypaste/ServiceRegistry.java) =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/ServiceRegistry.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/presence/ServiceRegistry.java 2007-03-03 20:35:16 UTC (rev 44) @@ -0,0 +1,66 @@ +package net.sf.trivial.easypaste.presence; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; + + +/** + * Registry for existing services + * + * @author pajai + */ +public class ServiceRegistry implements PresenceProvider { + + /** service map */ + HashMap<String,Peer> services = new HashMap<String,Peer>(); + + /** store instance */ + static private ServiceRegistry instance; + + private ServiceRegistry () {} + + /** get instance of this singlet class */ + public static synchronized ServiceRegistry getInstance () { + if (instance == null) + instance = new ServiceRegistry (); + + return instance; + } + + /** + * Register a service + */ + public synchronized void register (PeerImpl service) { + services.put(service.getName(), service); + } + + /** + * Test if a service is already registered + */ + public synchronized boolean isRegistered (String name) { + return services.containsKey(name); + } + + /** + * Unregister a service, using its service name + */ + public synchronized void unregister (String name) { + if (services.containsKey(name)) + services.remove(name); + } + + /** + * Print registered services + */ + public synchronized void printList () { + System.out.println ("Registered services:"); + for (Iterator it = services.values().iterator(); it.hasNext(); ) { + System.out.println ( ((PeerImpl)it.next()).toString() ); + } + } + + public Collection<Peer> getPeers() { + return services.values(); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jlg...@us...> - 2007-03-03 20:27:01
|
Revision: 43 http://trivial.svn.sourceforge.net/trivial/?rev=43&view=rev Author: jlgeering Date: 2007-03-03 12:26:59 -0800 (Sat, 03 Mar 2007) Log Message: ----------- Mac ClipboardWriter Modified Paths: -------------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/EasyListener.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java Modified: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/EasyListener.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/EasyListener.java 2007-03-03 18:22:01 UTC (rev 42) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/EasyListener.java 2007-03-03 20:26:59 UTC (rev 43) @@ -6,7 +6,6 @@ import java.net.UnknownHostException; import java.util.Map; import java.util.TreeMap; -import java.util.Vector; import com.apple.dnssd.BrowseListener; import com.apple.dnssd.DNSSD; @@ -39,8 +38,9 @@ } public void serviceLost(DNSSDService browser, int flags, int ifIndex, java.lang.String serviceName, java.lang.String regType, java.lang.String domain) { - // TODO Auto-generated method stub - + //buddies.remove(serviceName); + // TODO remove + //System.out.println(serviceName); } public void operationFailed(DNSSDService arg0, int arg1) { Modified: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java 2007-03-03 18:22:01 UTC (rev 42) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java 2007-03-03 20:26:59 UTC (rev 43) @@ -38,7 +38,7 @@ int count = pasteboard.changeCount(); while (count == pasteboard.changeCount()) { try { - Thread.sleep(1000); + Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jlg...@us...> - 2007-03-03 18:22:01
|
Revision: 42 http://trivial.svn.sourceforge.net/trivial/?rev=42&view=rev Author: jlgeering Date: 2007-03-03 10:22:01 -0800 (Sat, 03 Mar 2007) Log Message: ----------- Mac ClipboardReader Modified Paths: -------------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java Modified: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java 2007-03-03 17:39:01 UTC (rev 41) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java 2007-03-03 18:22:01 UTC (rev 42) @@ -2,6 +2,8 @@ public interface ClipboardReader { - void readOnce(); + void setDistributedClipboard(DistributedClipboard distributedClipboard); + void start(); + void stop(); } Modified: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java 2007-03-03 17:39:01 UTC (rev 41) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java 2007-03-03 18:22:01 UTC (rev 42) @@ -12,6 +12,7 @@ } public void setLocalContent(String content) { + System.out.println(content); } } Copied: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java (from rev 39, trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReader.java) =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReaderImpl.java 2007-03-03 18:22:01 UTC (rev 42) @@ -0,0 +1,65 @@ +package net.sf.trivial.easypaste.mac; + +import net.sf.trivial.easypaste.ClipboardReader; +import net.sf.trivial.easypaste.DistributedClipboard; + +import com.apple.cocoa.application.NSPasteboard; + +public class ClipboardReaderImpl implements ClipboardReader, Runnable { + + private boolean running; + private DistributedClipboard distributedClipboard; + + private NSPasteboard pasteboard; + +// private Growl growl; +// private final static String GROWL_NOTIFICATION = "clipboard update"; + + public ClipboardReaderImpl() { + pasteboard = NSPasteboard.generalPasteboard(); +// growl = new Growl("Easypaste", "logo.png"); +// NSMutableArray nsa = new NSMutableArray(); +// nsa.addObject(GROWL_NOTIFICATION); +// growl.setAllowedNotifications(nsa); +// try { +// growl.setDefaultNotifications(nsa); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// growl.register(); + running = false; + } + + public void run() { + assert (!running): "ClipboardReader already running."; + running = true; + while (running) { + int count = pasteboard.changeCount(); + while (count == pasteboard.changeCount()) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + String content = pasteboard.stringForType("NSStringPboardType"); + distributedClipboard.setLocalContent(content); + } + } + + public void setDistributedClipboard(DistributedClipboard distributedClipboard) { + this.distributedClipboard = distributedClipboard; + } + + public void start() { + if (!running) { + new Thread(this, "ClipboardReader").start(); + } + } + + public void stop() { + running = false; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jlg...@us...> - 2007-03-03 17:39:34
|
Revision: 41 http://trivial.svn.sourceforge.net/trivial/?rev=41&view=rev Author: jlgeering Date: 2007-03-03 09:39:01 -0800 (Sat, 03 Mar 2007) Log Message: ----------- DistributedClipboard ClipboardReader and Writer Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardWriter.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/DistributedClipboard.java trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java 2007-03-03 17:39:01 UTC (rev 41) @@ -0,0 +1,7 @@ +package net.sf.trivial.easypaste; + +public interface ClipboardReader { + + void readOnce(); + +} Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardWriter.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardWriter.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardWriter.java 2007-03-03 17:39:01 UTC (rev 41) @@ -0,0 +1,5 @@ +package net.sf.trivial.easypaste; + +public interface ClipboardWriter { + public void writeToClipboard(String content); +} Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/DistributedClipboard.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/DistributedClipboard.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/DistributedClipboard.java 2007-03-03 17:39:01 UTC (rev 41) @@ -0,0 +1,9 @@ +package net.sf.trivial.easypaste; + +public interface DistributedClipboard { + + void setLocalContent(String content); + + void setClipboardWriter(ClipboardWriter w); + +} Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/DistributedClipboardImpl.java 2007-03-03 17:39:01 UTC (rev 41) @@ -0,0 +1,17 @@ +package net.sf.trivial.easypaste.java; + +import net.sf.trivial.easypaste.ClipboardWriter; +import net.sf.trivial.easypaste.DistributedClipboard; + +public class DistributedClipboardImpl implements DistributedClipboard { + + private ClipboardWriter localWriter; + + public void setClipboardWriter(ClipboardWriter writer) { + localWriter = writer; + } + + public void setLocalContent(String content) { + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jlg...@us...> - 2007-03-03 17:08:58
|
Revision: 40 http://trivial.svn.sourceforge.net/trivial/?rev=40&view=rev Author: jlgeering Date: 2007-03-03 09:08:55 -0800 (Sat, 03 Mar 2007) Log Message: ----------- new package: net.sf.trivial.easypaste.java Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/ClipboardReader.java Removed Paths: ------------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java Deleted: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java 2007-02-17 00:09:03 UTC (rev 39) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java 2007-03-03 17:08:55 UTC (rev 40) @@ -1,77 +0,0 @@ -//Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. -//Jad home page: http://www.kpdus.com/jad.html -//Decompiler options: packimports(3) -//Source File Name: ClipPaste.java - -package net.sf.trivial.easypaste; - -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.Transferable; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.IOException; - -import com.apple.cocoa.foundation.NSArray; -import com.apple.cocoa.foundation.NSMutableArray; -import com.growl.Growl; - -public class ClipboardReader implements Runnable { - - private boolean run = true; - private Clipboard clipboard; - private Growl growl; - private EasyListener el; - - private final static String GROWL_NOTIFICATION = "clipboard update"; - - public ClipboardReader() { - clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); - run = true; - growl = new Growl("Easypast", "logo.png"); - NSMutableArray nsa = new NSMutableArray(); - nsa.addObject(GROWL_NOTIFICATION); - growl.setAllowedNotifications(nsa); - try { - growl.setDefaultNotifications(nsa); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - growl.register(); - el = new EasyListener(); - } - - public static void main(String args[]) { - new Thread(new ClipboardReader(), "Clipboard Reader").start(); - } - - public void run() { - Transferable transferable; - String s = ""; - while (run) { - transferable = clipboard.getContents(null); - try { - if (transferable != null - && transferable.isDataFlavorSupported(DataFlavor.stringFlavor) - && !s.equals((String) transferable.getTransferData(DataFlavor.stringFlavor))) { - s = (String) transferable.getTransferData(DataFlavor.stringFlavor); - growl.notifyGrowlOf(GROWL_NOTIFICATION, "Clipboard Update", s); - el.sendString(s); - } - } catch (UnsupportedFlavorException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } catch (IOException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - try { - Thread.sleep(500); - } catch (InterruptedException e) {} - } - } -} \ No newline at end of file Copied: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/ClipboardReader.java (from rev 39, trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/ClipboardReader.java) =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/ClipboardReader.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/java/ClipboardReader.java 2007-03-03 17:08:55 UTC (rev 40) @@ -0,0 +1,125 @@ +//Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. +//Jad home page: http://www.kpdus.com/jad.html +//Decompiler options: packimports(3) +//Source File Name: ClipPaste.java + +package net.sf.trivial.easypaste.java; + +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.ClipboardOwner; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.IOException; + +import net.sf.trivial.easypaste.EasyListener; + +import com.apple.cocoa.foundation.NSMutableArray; +import com.growl.Growl; + +public class ClipboardReader implements ClipboardOwner { + + private boolean running; + private Clipboard clipboard; + private Growl growl; + private EasyListener el; + + private final static String GROWL_NOTIFICATION = "clipboard update"; + + public ClipboardReader() { + clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + growl = new Growl("Easypast", "logo.png"); + NSMutableArray nsa = new NSMutableArray(); + nsa.addObject(GROWL_NOTIFICATION); + growl.setAllowedNotifications(nsa); + try { + growl.setDefaultNotifications(nsa); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + growl.register(); + el = new EasyListener(); + running = false; + } + + public void readOnce() { + if (running) { + System.out.println(0); + return; + } + System.out.println(1); + running = true; + new Thread(new Runnable() { + public void run() { + Transferable transferable; + System.out.println(clipboard.getName()); + + Transferable t = new StringSelection("d"); + ClipboardOwner co = new ClipboardOwner() { + + public void lostOwnership(Clipboard clipboard, Transferable contents) { + System.out.println(6); + + } + + }; + System.out.println(t); +// clipboard.setContents(t, co); + clipboard.setContents(new StringSelection("e"), co); + String s = ""; +// System.out.println(clipboard.getName()); + boolean loop = true; + while (loop) { +// System.out.println(3); +// System.out.println(Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null)); + transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(new Object()); + System.out.println(transferable); + try { + if (transferable != null + && transferable.isDataFlavorSupported(DataFlavor.stringFlavor) + && !s.equals((String) transferable.getTransferData(DataFlavor.stringFlavor))) { +//// loop = false; +// System.out.println(4); +// + s = (String) transferable.getTransferData(DataFlavor.stringFlavor); + System.out.println(s); +// growl.notifyGrowlOf(GROWL_NOTIFICATION, "Clipboard Update", s); +// el.sendString(s); +//// break; + } +// } catch (UnsupportedFlavorException e1) { +// // TODO Auto-generated catch block +// e1.printStackTrace(); +// } catch (IOException e1) { +// // TODO Auto-generated catch block +// e1.printStackTrace(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } +// System.out.println(5); + try { + Thread.sleep(2000); + } catch (InterruptedException e) {} + } + running = false; + } + + }, "Clipboard Reader").start(); + + } + + public static void main(String args[]) { + ClipboardReader cbr = new ClipboardReader(); + cbr.readOnce(); + cbr.readOnce(); + } + + public void lostOwnership(Clipboard clipboard, Transferable contents) { + // TODO Auto-generated method stub + System.out.println(6); + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fte...@us...> - 2007-02-17 00:09:06
|
Revision: 39 http://trivial.svn.sourceforge.net/trivial/?rev=39&view=rev Author: fterrier Date: 2007-02-16 16:09:03 -0800 (Fri, 16 Feb 2007) Log Message: ----------- Initial import PasteboardWriter Added Paths: ----------- trunk/xcode/PasteboardWriter/ trunk/xcode/PasteboardWriter/CopyMonitor.h trunk/xcode/PasteboardWriter/CopyMonitor.m trunk/xcode/PasteboardWriter/English.lproj/ trunk/xcode/PasteboardWriter/English.lproj/InfoPlist.strings trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/ trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/classes.nib trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/info.nib trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/keyedobjects.nib trunk/xcode/PasteboardWriter/Info.plist trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/ trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.mode1 trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.pbxuser trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/project.pbxproj trunk/xcode/PasteboardWriter/PasteboardWriter_Prefix.pch trunk/xcode/PasteboardWriter/main.m Added: trunk/xcode/PasteboardWriter/CopyMonitor.h =================================================================== --- trunk/xcode/PasteboardWriter/CopyMonitor.h (rev 0) +++ trunk/xcode/PasteboardWriter/CopyMonitor.h 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,22 @@ +// +// CopyMonitor.h +// Test +// +// Created by François Terrier on 09.02.07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import <Cocoa/Cocoa.h> + + +@interface CopyMonitor : NSObject { + NSPasteboard * pasteboard; +} + +- (void) sendToClipboard; + +@end + +@interface NSObject(CopyMonitorDelegate) +- (void)clipboardChanged; +@end \ No newline at end of file Added: trunk/xcode/PasteboardWriter/CopyMonitor.m =================================================================== --- trunk/xcode/PasteboardWriter/CopyMonitor.m (rev 0) +++ trunk/xcode/PasteboardWriter/CopyMonitor.m 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,44 @@ +// +// CopyMonitor.m +// Test +// +// Created by François Terrier on 09.02.07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import "CopyMonitor.h" +#import <Cocoa/Cocoa.h> + +@implementation CopyMonitor + +-(id) init { + self = [super init]; + pasteboard = [NSPasteboard generalPasteboard]; + return self; +} + +- (void) sendToClipboard { + printf("Writing on clipboard\n\n"); + + NSArray *types = [NSArray arrayWithObjects: NSFilenamesPboardType, NSStringPboardType, + NSURLPboardType, NSPICTPboardType, @"CorePasteboardFlavorType 0x6675726C", nil]; + [pasteboard declareTypes:types owner:self]; + + //[pasteboard setString:@"hello" forType:NSStringPboardType]; + +} + +- (void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSString *)type { + printf("Requesting data for type: "); + printf([type cString]); + printf("\n"); + + //[sender setString:@"prout" forType:NSFilenamesPboardType]; +} + +- (void)dealloc { + [super dealloc]; +} + + +@end Added: trunk/xcode/PasteboardWriter/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Property changes on: trunk/xcode/PasteboardWriter/English.lproj/InfoPlist.strings ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/classes.nib =================================================================== --- trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/classes.nib (rev 0) +++ trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/classes.nib 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,4 @@ +{ + IBClasses = ({CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }); + IBVersion = 1; +} \ No newline at end of file Added: trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/info.nib =================================================================== --- trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/info.nib (rev 0) +++ trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/info.nib 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBDocumentLocation</key> + <string>94 103 356 240 0 0 1280 1002 </string> + <key>IBEditorPositions</key> + <dict> + <key>29</key> + <string>93 343 318 44 0 0 1280 1002 </string> + </dict> + <key>IBFramework Version</key> + <string>401.0</string> + <key>IBOpenObjects</key> + <array> + <integer>29</integer> + <integer>21</integer> + </array> + <key>IBSystem Version</key> + <string>8A259</string> +</dict> +</plist> Added: trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: trunk/xcode/PasteboardWriter/English.lproj/MainMenu.nib/keyedobjects.nib ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/xcode/PasteboardWriter/Info.plist =================================================================== --- trunk/xcode/PasteboardWriter/Info.plist (rev 0) +++ trunk/xcode/PasteboardWriter/Info.plist 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.yourcompany.PasteboardWriter</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>NSMainNibFile</key> + <string>MainMenu</string> + <key>NSPrincipalClass</key> + <string>NSApplication</string> +</dict> +</plist> Added: trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.mode1 =================================================================== --- trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.mode1 (rev 0) +++ trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.mode1 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,1461 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActivePerspectiveName</key> + <string>Project</string> + <key>AllowedModules</key> + <array> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Name</key> + <string>Groups and Files Outline View</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Name</key> + <string>Editor</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCTaskListModule</string> + <key>Name</key> + <string>Task List</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCDetailModule</string> + <key>Name</key> + <string>File and Smart Group Detail Viewer</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXBuildResultsModule</string> + <key>Name</key> + <string>Detailed Build Results Viewer</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXProjectFindModule</string> + <key>Name</key> + <string>Project Batch Find Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXRunSessionModule</string> + <key>Name</key> + <string>Run Log</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXBookmarksModule</string> + <key>Name</key> + <string>Bookmarks Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXClassBrowserModule</string> + <key>Name</key> + <string>Class Browser</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXCVSModule</string> + <key>Name</key> + <string>Source Code Control Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXDebugBreakpointsModule</string> + <key>Name</key> + <string>Debug Breakpoints Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCDockableInspector</string> + <key>Name</key> + <string>Inspector</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXOpenQuicklyModule</string> + <key>Name</key> + <string>Open Quickly Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXDebugSessionModule</string> + <key>Name</key> + <string>Debugger</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXDebugCLIModule</string> + <key>Name</key> + <string>Debug Console</string> + </dict> + </array> + <key>Description</key> + <string>DefaultDescriptionKey</string> + <key>DockingSystemVisible</key> + <false/> + <key>Extension</key> + <string>mode1</string> + <key>FavBarConfig</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD590B0B83D22900E7DEA7</string> + <key>XCBarModuleItemNames</key> + <dict/> + <key>XCBarModuleItems</key> + <array/> + </dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>com.apple.perspectives.project.mode1</string> + <key>MajorVersion</key> + <integer>31</integer> + <key>MinorVersion</key> + <integer>1</integer> + <key>Name</key> + <string>Default</string> + <key>Notifications</key> + <array/> + <key>OpenEditors</key> + <array> + <dict> + <key>Content</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD58F00B83D17E00E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.m</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD590C0B83D22900E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.m</string> + <key>_historyCapacity</key> + <integer>0</integer> + <key>bookmark</key> + <string>30AD59C50B84CF2800E7DEA7</string> + <key>history</key> + <array> + <string>30AD598A0B83D6E700E7DEA7</string> + </array> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>Geometry</key> + <dict> + <key>Frame</key> + <string>{{0, 20}, {694, 648}}</string> + <key>PBXModuleWindowStatusBarHidden2</key> + <false/> + <key>RubberWindowFrame</key> + <string>15 84 694 689 0 0 1280 778 </string> + </dict> + </dict> + <dict> + <key>Content</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD58F10B83D17E00E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>main.m</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD59130B83D22900E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>main.m</string> + <key>_historyCapacity</key> + <integer>0</integer> + <key>bookmark</key> + <string>30AD59C60B84CF2800E7DEA7</string> + <key>history</key> + <array> + <string>30AD59140B83D22900E7DEA7</string> + </array> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>Geometry</key> + <dict> + <key>Frame</key> + <string>{{0, 20}, {1082, 651}}</string> + <key>PBXModuleWindowStatusBarHidden2</key> + <false/> + <key>RubberWindowFrame</key> + <string>38 60 1082 692 0 0 1280 778 </string> + </dict> + </dict> + <dict> + <key>Content</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD595C0B83D5DC00E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.h</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD59700B83D63600E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.h</string> + <key>_historyCapacity</key> + <integer>0</integer> + <key>bookmark</key> + <string>30AD59C70B84CF2800E7DEA7</string> + <key>history</key> + <array> + <string>30AD59780B83D68100E7DEA7</string> + </array> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>Geometry</key> + <dict> + <key>Frame</key> + <string>{{0, 20}, {694, 648}}</string> + <key>PBXModuleWindowStatusBarHidden2</key> + <false/> + <key>RubberWindowFrame</key> + <string>15 84 694 689 0 0 1280 778 </string> + </dict> + </dict> + </array> + <key>PerspectiveWidths</key> + <array> + <integer>-1</integer> + <integer>-1</integer> + </array> + <key>Perspectives</key> + <array> + <dict> + <key>ChosenToolbarItems</key> + <array> + <string>active-target-popup</string> + <string>active-buildstyle-popup</string> + <string>action</string> + <string>NSToolbarFlexibleSpaceItem</string> + <string>buildOrClean</string> + <string>build-and-runOrDebug</string> + <string>com.apple.ide.PBXToolbarStopButton</string> + <string>get-info</string> + <string>toggle-editor</string> + <string>NSToolbarFlexibleSpaceItem</string> + <string>com.apple.pbx.toolbar.searchfield</string> + </array> + <key>ControllerClassBaseName</key> + <string></string> + <key>IconName</key> + <string>WindowOfProjectWithEditor</string> + <key>Identifier</key> + <string>perspective.project</string> + <key>IsVertical</key> + <false/> + <key>Layout</key> + <array> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C37FBAC04509CD000000102</string> + <string>1C37FAAC04509CD000000102</string> + <string>1C08E77C0454961000C914BD</string> + <string>1C37FABC05509CD000000102</string> + <string>1C37FABC05539CD112110102</string> + <string>E2644B35053B69B200211256</string> + <string>1C37FABC04509CD000100104</string> + <string>1CC0EA4004350EF90044410B</string> + <string>1CC0EA4004350EF90041110B</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>1CE0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>yes</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>186</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>29B97314FDCFA39411CA2CEA</string> + <string>080E96DDFE201D6D7F000001</string> + <string>29B97315FDCFA39411CA2CEA</string> + <string>19C28FACFE9D520D11CA2CBB</string> + <string>1C37FBAC04509CD000000102</string> + <string>1C37FABC05509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>10</integer> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {186, 338}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <true/> + <key>XCSharingToken</key> + <string>com.apple.Xcode.GFSharingToken</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {203, 356}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>186</real> + </array> + <key>RubberWindowFrame</key> + <string>356 278 690 397 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>203pt</string> + </dict> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20306471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>MyNewFile14.java</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20406471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>MyNewFile14.java</string> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {482, 0}}</string> + <key>RubberWindowFrame</key> + <string>356 278 690 397 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>0pt</string> + </dict> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20506471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Detail</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 5}, {482, 351}}</string> + <key>RubberWindowFrame</key> + <string>356 278 690 397 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>XCDetailModule</string> + <key>Proportion</key> + <string>351pt</string> + </dict> + </array> + <key>Proportion</key> + <string>482pt</string> + </dict> + </array> + <key>Name</key> + <string>Project</string> + <key>ServiceClasses</key> + <array> + <string>XCModuleDock</string> + <string>PBXSmartGroupTreeModule</string> + <string>XCModuleDock</string> + <string>PBXNavigatorGroup</string> + <string>XCDetailModule</string> + </array> + <key>TableOfContents</key> + <array> + <string>30AD59090B83D22900E7DEA7</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>30AD590A0B83D22900E7DEA7</string> + <string>1CE0B20306471E060097A5F4</string> + <string>1CE0B20506471E060097A5F4</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.default</string> + </dict> + <dict> + <key>ControllerClassBaseName</key> + <string></string> + <key>IconName</key> + <string>WindowOfProject</string> + <key>Identifier</key> + <string>perspective.morph</string> + <key>IsVertical</key> + <integer>0</integer> + <key>Layout</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C37FBAC04509CD000000102</string> + <string>1C37FAAC04509CD000000102</string> + <string>1C08E77C0454961000C914BD</string> + <string>1C37FABC05509CD000000102</string> + <string>1C37FABC05539CD112110102</string> + <string>E2644B35053B69B200211256</string> + <string>1C37FABC04509CD000100104</string> + <string>1CC0EA4004350EF90044410B</string> + <string>1CC0EA4004350EF90041110B</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>11E0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>yes</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>186</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>29B97314FDCFA39411CA2CEA</string> + <string>1C37FABC05509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {186, 337}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <integer>1</integer> + <key>XCSharingToken</key> + <string>com.apple.Xcode.GFSharingToken</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {203, 355}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>186</real> + </array> + <key>RubberWindowFrame</key> + <string>373 269 690 397 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Morph</string> + <key>PreferredWidth</key> + <integer>300</integer> + <key>ServiceClasses</key> + <array> + <string>XCModuleDock</string> + <string>PBXSmartGroupTreeModule</string> + </array> + <key>TableOfContents</key> + <array> + <string>11E0B1FE06471DED0097A5F4</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.default.short</string> + </dict> + </array> + <key>PerspectivesBarVisible</key> + <false/> + <key>ShelfIsVisible</key> + <false/> + <key>SourceDescription</key> + <string>file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string> + <key>StatusbarIsVisible</key> + <true/> + <key>TimeStamp</key> + <real>0.0</real> + <key>ToolbarDisplayMode</key> + <integer>1</integer> + <key>ToolbarIsVisible</key> + <true/> + <key>ToolbarSizeMode</key> + <integer>1</integer> + <key>Type</key> + <string>Perspectives</string> + <key>UpdateMessage</key> + <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string> + <key>WindowJustification</key> + <integer>5</integer> + <key>WindowOrderList</key> + <array> + <string>30AD595C0B83D5DC00E7DEA7</string> + <string>1C0AD2B3069F1EA900FABCE6</string> + <string>30AD59160B83D22900E7DEA7</string> + <string>30AD58F10B83D17E00E7DEA7</string> + <string>30AD58F00B83D17E00E7DEA7</string> + <string>/Users/franz/PasteboardWriter/PasteboardWriter.xcodeproj</string> + </array> + <key>WindowString</key> + <string>356 278 690 397 0 0 1280 778 </string> + <key>WindowTools</key> + <array> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.build</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528F0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.h</string> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {500, 218}}</string> + <key>RubberWindowFrame</key> + <string>59 229 500 500 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>218pt</string> + </dict> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>XCMainBuildResultsModuleGUID</string> + <key>PBXProjectModuleLabel</key> + <string>Build</string> + <key>XCBuildResultsTrigger_Collapse</key> + <integer>1021</integer> + <key>XCBuildResultsTrigger_Open</key> + <integer>1011</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 223}, {500, 236}}</string> + <key>RubberWindowFrame</key> + <string>59 229 500 500 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXBuildResultsModule</string> + <key>Proportion</key> + <string>236pt</string> + </dict> + </array> + <key>Proportion</key> + <string>459pt</string> + </dict> + </array> + <key>Name</key> + <string>Build Results</string> + <key>ServiceClasses</key> + <array> + <string>PBXBuildResultsModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>30AD59160B83D22900E7DEA7</string> + <string>30AD59170B83D22900E7DEA7</string> + <string>1CD0528F0623707200166675</string> + <string>XCMainBuildResultsModuleGUID</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.build</string> + <key>WindowString</key> + <string>59 229 500 500 0 0 1280 778 </string> + <key>WindowToolGUID</key> + <string>30AD59160B83D22900E7DEA7</string> + <key>WindowToolIsVisible</key> + <true/> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.debugger</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>Debugger</key> + <dict> + <key>HorizontalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {317, 164}}</string> + <string>{{317, 0}, {377, 164}}</string> + </array> + </dict> + <key>VerticalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {694, 164}}</string> + <string>{{0, 164}, {694, 216}}</string> + </array> + </dict> + </dict> + <key>LauncherConfigVersion</key> + <string>8</string> + <key>PBXProjectModuleGUID</key> + <string>1C162984064C10D400B95A72</string> + <key>PBXProjectModuleLabel</key> + <string>Debug - GLUTExamples (Underwater)</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>DebugConsoleDrawerSize</key> + <string>{100, 120}</string> + <key>DebugConsoleVisible</key> + <string>None</string> + <key>DebugConsoleWindowFrame</key> + <string>{{200, 200}, {500, 300}}</string> + <key>DebugSTDIOWindowFrame</key> + <string>{{200, 200}, {500, 300}}</string> + <key>Frame</key> + <string>{{0, 0}, {694, 380}}</string> + <key>RubberWindowFrame</key> + <string>321 238 694 422 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXDebugSessionModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Debugger</string> + <key>ServiceClasses</key> + <array> + <string>PBXDebugSessionModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1CD10A99069EF8BA00B06720</string> + <string>1C0AD2AB069F1E9B00FABCE6</string> + <string>1C162984064C10D400B95A72</string> + <string>1C0AD2AC069F1E9B00FABCE6</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.debug</string> + <key>WindowString</key> + <string>321 238 694 422 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1CD10A99069EF8BA00B06720</string> + <key>WindowToolIsVisible</key> + <integer>0</integer> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.find</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CDD528C0622207200134675</string> + <key>PBXProjectModuleLabel</key> + <string><No Editor></string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528D0623707200166675</string> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <integer>1</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {781, 167}}</string> + <key>RubberWindowFrame</key> + <string>62 385 781 470 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>781pt</string> + </dict> + </array> + <key>Proportion</key> + <string>50%</string> + </dict> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528E0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>Project Find</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{8, 0}, {773, 254}}</string> + <key>RubberWindowFrame</key> + <string>62 385 781 470 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXProjectFindModule</string> + <key>Proportion</key> + <string>50%</string> + </dict> + </array> + <key>Proportion</key> + <string>428pt</string> + </dict> + </array> + <key>Name</key> + <string>Project Find</string> + <key>ServiceClasses</key> + <array> + <string>PBXProjectFindModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1C530D57069F1CE1000CFCEE</string> + <string>1C530D58069F1CE1000CFCEE</string> + <string>1C530D59069F1CE1000CFCEE</string> + <string>1CDD528C0622207200134675</string> + <string>1C530D5A069F1CE1000CFCEE</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>1CD0528E0623707200166675</string> + </array> + <key>WindowString</key> + <string>62 385 781 470 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1C530D57069F1CE1000CFCEE</string> + <key>WindowToolIsVisible</key> + <integer>0</integer> + </dict> + <dict> + <key>Identifier</key> + <string>MENUSEPARATOR</string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.debuggerConsole</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAAC065D492600B07095</string> + <key>PBXProjectModuleLabel</key> + <string>Debugger Console</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {440, 358}}</string> + <key>RubberWindowFrame</key> + <string>650 41 440 400 0 0 1280 1002 </string> + </dict> + <key>Module</key> + <string>PBXDebugCLIModule</string> + <key>Proportion</key> + <string>358pt</string> + </dict> + </array> + <key>Proportion</key> + <string>358pt</string> + </dict> + </array> + <key>Name</key> + <string>Debugger Console</string> + <key>ServiceClasses</key> + <array> + <string>PBXDebugCLIModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1C78EAAD065D492600B07095</string> + <string>1C78EAAE065D492600B07095</string> + <string>1C78EAAC065D492600B07095</string> + </array> + <key>WindowString</key> + <string>650 41 440 400 0 0 1280 1002 </string> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.run</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>LauncherConfigVersion</key> + <string>3</string> + <key>PBXProjectModuleGUID</key> + <string>1CD0528B0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>Run</string> + <key>Runner</key> + <dict> + <key>HorizontalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {493, 167}}</string> + <string>{{0, 176}, {493, 267}}</string> + </array> + </dict> + <key>VerticalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {405, 443}}</string> + <string>{{414, 0}, {514, 443}}</string> + </array> + </dict> + </dict> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {637, 438}}</string> + <key>RubberWindowFrame</key> + <string>406 154 637 479 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXRunSessionModule</string> + <key>Proportion</key> + <string>438pt</string> + </dict> + </array> + <key>Proportion</key> + <string>438pt</string> + </dict> + </array> + <key>Name</key> + <string>Run Log</string> + <key>ServiceClasses</key> + <array> + <string>PBXRunSessionModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>1C0AD2B3069F1EA900FABCE6</string> + <string>30AD59180B83D22900E7DEA7</string> + <string>1CD0528B0623707200166675</string> + <string>30AD59190B83D22900E7DEA7</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.run</string> + <key>WindowString</key> + <string>406 154 637 479 0 0 1280 778 </string> + <key>WindowToolGUID</key> + <string>1C0AD2B3069F1EA900FABCE6</string> + <key>WindowToolIsVisible</key> + <true/> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.scm</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAB2065D492600B07095</string> + <key>PBXProjectModuleLabel</key> + <string><No Editor></string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAB3065D492600B07095</string> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <integer>1</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {452, 0}}</string> + <key>RubberWindowFrame</key> + <string>743 379 452 308 0 0 1280 1002 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>0pt</string> + </dict> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD052920623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>SCM</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>ConsoleFrame</key> + <string>{{0, 259}, {452, 0}}</string> + <key>Frame</key> + <string>{{0, 7}, {452, 259}}</string> + <key>RubberWindowFrame</key> + <string>743 379 452 308 0 0 1280 1002 </string> + <key>TableConfiguration</key> + <array> + <string>Status</string> + <real>30</real> + <string>FileName</string> + <real>199</real> + <string>Path</string> + <real>197.09500122070312</real> + </array> + <key>TableFrame</key> + <string>{{0, 0}, {452, 250}}</string> + </dict> + <key>Module</key> + <string>PBXCVSModule</string> + <key>Proportion</key> + <string>262pt</string> + </dict> + </array> + <key>Proportion</key> + <string>266pt</string> + </dict> + </array> + <key>Name</key> + <string>SCM</string> + <key>ServiceClasses</key> + <array> + <string>PBXCVSModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1C78EAB4065D492600B07095</string> + <string>1C78EAB5065D492600B07095</string> + <string>1C78EAB2065D492600B07095</string> + <string>1CD052920623707200166675</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.scm</string> + <key>WindowString</key> + <string>743 379 452 308 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.breakpoints</string> + <key>IsVertical</key> + <integer>0</integer> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C77FABC04509CD000000102</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>1CE0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>no</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>168</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>1C77FABC04509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {168, 350}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <integer>0</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {185, 368}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>168</real> + </array> + <key>RubberWindowFrame</key> + <string>315 424 744 409 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>185pt</string> + </dict> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CA1AED706398EBD00589147</string> + <key>PBXProjectModuleLabel</key> + <string>Detail</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{190, 0}, {554, 368}}</string> + <key>RubberWindowFrame</key> + <string>315 424 744 409 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>XCDetailModule</string> + <key>Proportion</key> + <string>554pt</string> + </dict> + </array> + <key>Proportion</key> + <string>368pt</string> + </dict> + </array> + <key>MajorVersion</key> + <integer>2</integer> + <key>MinorVersion</key> + <integer>0</integer> + <key>Name</key> + <string>Breakpoints</string> + <key>ServiceClasses</key> + <array> + <string>PBXSmartGroupTreeModule</string> + <string>XCDetailModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1CDDB66807F98D9800BB5817</string> + <string>1CDDB66907F98D9800BB5817</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>1CA1AED706398EBD00589147</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.breakpoints</string> + <key>WindowString</key> + <string>315 424 744 409 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1CDDB66807F98D9800BB5817</string> + <key>WindowToolIsVisible</key> + <integer>1</integer> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.debugAnimator</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Debug Visualizer</string> + <key>ServiceClasses</key> + <array> + <string>PBXNavigatorGroup</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.debugAnimator</string> + <key>WindowString</key> + <string>100 100 700 500 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.bookmarks</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>PBXBookmarksModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Bookmarks</string> + <key>ServiceClasses</key> + <array> + <string>PBXBookmarksModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>0</integer> + <key>WindowString</key> + <string>538 42 401 187 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.classBrowser</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>OptionsSetName</key> + <string>Hierarchy, all classes</string> + <key>PBXProjectModuleGUID</key> + <string>1CA6456E063B45B4001379D8</string> + <key>PBXProjectModuleLabel</key> + <string>Class Browser - NSObject</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>ClassesFrame</key> + <string>{{0, 0}, {374, 96}}</string> + <key>ClassesTreeTableConfiguration</key> + <array> + <string>PBXClassNameColumnIdentifier</string> + <real>208</real> + <string>PBXClassBookColumnIdentifier</string> + <real>22</real> + </array> + <key>Frame</key> + <string>{{0, 0}, {630, 331}}</string> + <key>MembersFrame</key> + <string>{{0, 105}, {374, 395}}</string> + <key>MembersTreeTableConfiguration</key> + <array> + <string>PBXMemberTypeIconColumnIdentifier</string> + <real>22</real> + <string>PBXMemberNameColumnIdentifier</string> + <real>216</real> + <string>PBXMemberTypeColumnIdentifier</string> + <real>97</real> + <string>PBXMemberBookColumnIdentifier</string> + <real>22</real> + </array> + <key>PBXModuleWindowStatusBarHidden2</key> + <integer>1</integer> + <key>RubberWindowFrame</key> + <string>385 179 630 352 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXClassBrowserModule</string> + <key>Proportion</key> + <string>332pt</string> + </dict> + </array> + <key>Proportion</key> + <string>332pt</string> + </dict> + </array> + <key>Name</key> + <string>Class Browser</string> + <key>ServiceClasses</key> + <array> + <string>PBXClassBrowserModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>0</integer> + <key>TableOfContents</key> + <array> + <string>1C0AD2AF069F1E9B00FABCE6</string> + <string>1C0AD2B0069F1E9B00FABCE6</string> + <string>1CA6456E063B45B4001379D8</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.classbrowser</string> + <key>WindowString</key> + <string>385 179 630 352 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1C0AD2AF069F1E9B00FABCE6</string> + <key>WindowToolIsVisible</key> + <integer>0</integer> + </dict> + </array> +</dict> +</plist> Added: trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.pbxuser =================================================================== --- trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.pbxuser (rev 0) +++ trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/franz.pbxuser 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,175 @@ +// !$*UTF8*$! +{ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + activeBuildConfigurationName = Debug; + activeExecutable = 30AD58DB0B83D0FF00E7DEA7 /* PasteboardWriter */; + activeTarget = 8D1107260486CEB800E47090 /* PasteboardWriter */; + addToTargets = ( + ); + codeSenseManager = 30AD58E00B83D11000E7DEA7 /* Code sense */; + executables = ( + 30AD58DB0B83D0FF00E7DEA7 /* PasteboardWriter */, + ); + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 243, + 20, + 48.1626, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 193188095; + PBXWorkspaceStateSaveDate = 193188095; + }; + perUserProjectItems = { + 30AD59140B83D22900E7DEA7 /* PBXTextBookmark */ = 30AD59140B83D22900E7DEA7 /* PBXTextBookmark */; + 30AD59780B83D68100E7DEA7 /* PBXTextBookmark */ = 30AD59780B83D68100E7DEA7 /* PBXTextBookmark */; + 30AD598A0B83D6E700E7DEA7 /* PBXTextBookmark */ = 30AD598A0B83D6E700E7DEA7 /* PBXTextBookmark */; + 30AD59C50B84CF2800E7DEA7 /* PBXTextBookmark */ = 30AD59C50B84CF2800E7DEA7 /* PBXTextBookmark */; + 30AD59C60B84CF2800E7DEA7 /* PBXTextBookmark */ = 30AD59C60B84CF2800E7DEA7 /* PBXTextBookmark */; + 30AD59C70B84CF2800E7DEA7 /* PBXTextBookmark */ = 30AD59C70B84CF2800E7DEA7 /* PBXTextBookmark */; + }; + sourceControlManager = 30AD58DF0B83D11000E7DEA7 /* Source Control */; + userBuildSettings = { + }; + }; + 30AD58DB0B83D0FF00E7DEA7 /* PasteboardWriter */ = { + isa = PBXExecutable; + activeArgIndex = 2147483647; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + configStateDict = { + }; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = PasteboardWriter; + sourceDirectories = ( + ); + }; + 30AD58DF0B83D11000E7DEA7 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + }; + scmType = ""; + }; + 30AD58E00B83D11000E7DEA7 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 30AD58E10B83D11600E7DEA7 /* main.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1043, 619}}"; + sepNavSelRange = "{404, 0}"; + sepNavVisRect = "{{0, 0}, {1043, 619}}"; + sepNavWindowFrame = "{{38, 4}, {1082, 748}}"; + }; + }; + 30AD58E40B83D12200E7DEA7 /* CopyMonitor.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {655, 630}}"; + sepNavSelRange = "{553, 0}"; + sepNavVisRect = "{{0, 5}, {655, 616}}"; + sepNavWindowFrame = "{{15, 28}, {694, 745}}"; + }; + }; + 30AD59140B83D22900E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD58E10B83D11600E7DEA7 /* main.m */; + name = "main.m: 17"; + rLen = 0; + rLoc = 404; + rType = 0; + vrLen = 651; + vrLoc = 0; + }; + 30AD595A0B83D5D600E7DEA7 /* CopyMonitor.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {655, 616}}"; + sepNavSelRange = "{259, 0}"; + sepNavVisRect = "{{0, 0}, {655, 616}}"; + sepNavWindowFrame = "{{15, 28}, {694, 745}}"; + }; + }; + 30AD59780B83D68100E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "error: parse error before '{' token"; + fRef = 30AD595A0B83D5D600E7DEA7 /* CopyMonitor.h */; + rLen = 1; + rLoc = 15; + rType = 1; + }; + 30AD598A0B83D6E700E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD58E40B83D12200E7DEA7 /* CopyMonitor.m */; + name = "- (void) sendToClipboard {"; + rLen = 26; + rLoc = 323; + rType = 0; + vrLen = 889; + vrLoc = 0; + }; + 30AD59C50B84CF2800E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD58E40B83D12200E7DEA7 /* CopyMonitor.m */; + name = "CopyMonitor.m: 24"; + rLen = 0; + rLoc = 553; + rType = 0; + vrLen = 947; + vrLoc = 0; + }; + 30AD59C60B84CF2800E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD58E10B83D11600E7DEA7 /* main.m */; + name = "main.m: 17"; + rLen = 0; + rLoc = 404; + rType = 0; + vrLen = 651; + vrLoc = 0; + }; + 30AD59C70B84CF2800E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD595A0B83D5D600E7DEA7 /* CopyMonitor.h */; + name = "CopyMonitor.h: 16"; + rLen = 0; + rLoc = 259; + rType = 0; + vrLen = 338; + vrLoc = 0; + }; + 8D1107260486CEB800E47090 /* PasteboardWriter */ = { + activeExec = 0; + executables = ( + 30AD58DB0B83D0FF00E7DEA7 /* PasteboardWriter */, + ); + }; +} Added: trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/project.pbxproj =================================================================== --- trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/project.pbxproj (rev 0) +++ trunk/xcode/PasteboardWriter/PasteboardWriter.xcodeproj/project.pbxproj 2007-02-17 00:09:03 UTC (rev 39) @@ -0,0 +1,275 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 30AD58E20B83D11600E7DEA7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 30AD58E10B83D11600E7DEA7 /* main.m */; }; + 30AD58E50B83D12200E7DEA7 /* CopyMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 30AD58E40B83D12200E7DEA7 /* CopyMonitor.m */; }; + 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; }; + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; }; + 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; + 30AD58E10B83D11600E7DEA7 /* main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; + 30AD58E40B83D12200E7DEA7 /* CopyMonitor.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = CopyMonitor.m; sourceTree = "<group>"; }; + 30AD595A0B83D5D600E7DEA7 /* CopyMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CopyMonitor.h; sourceTree = "<group>"; }; + 32CA4F630368D1EE00C91783 /* PasteboardWriter_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PasteboardWriter_Prefix.pch; sourceTree = "<group>"; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; + 8D1107320486CEB800E47090 /* PasteboardWriter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PasteboardWriter.app; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + ); + name = Classes; + sourceTree = "<group>"; + }; + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = "<group>"; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 29B97324FDCFA39411CA2CEA /* AppKit.framewor... [truncated message content] |
From: <fte...@us...> - 2007-02-17 00:04:29
|
Revision: 38 http://trivial.svn.sourceforge.net/trivial/?rev=38&view=rev Author: fterrier Date: 2007-02-16 16:04:30 -0800 (Fri, 16 Feb 2007) Log Message: ----------- remove build directory Removed Paths: ------------- trunk/xcode/PasteboardReader/build/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fte...@us...> - 2007-02-16 23:59:01
|
Revision: 37 http://trivial.svn.sourceforge.net/trivial/?rev=37&view=rev Author: fterrier Date: 2007-02-16 15:58:52 -0800 (Fri, 16 Feb 2007) Log Message: ----------- Initial import Added Paths: ----------- trunk/xcode/PasteboardReader/ trunk/xcode/PasteboardReader/CopyMonitor.h trunk/xcode/PasteboardReader/CopyMonitor.m trunk/xcode/PasteboardReader/English.lproj/ trunk/xcode/PasteboardReader/English.lproj/InfoPlist.strings trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/ trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/classes.nib trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/info.nib trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/keyedobjects.nib trunk/xcode/PasteboardReader/Info.plist trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/ trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.mode1 trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.pbxuser trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/project.pbxproj trunk/xcode/PasteboardReader/PasteboardReader_Prefix.pch trunk/xcode/PasteboardReader/build/ trunk/xcode/PasteboardReader/build/Debug/ trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/ trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/ trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Info.plist trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/MacOS/ trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/MacOS/PasteboardReader trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/PkgInfo trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Resources/ trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Resources/English.lproj/ trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Resources/English.lproj/InfoPlist.strings trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Resources/English.lproj/MainMenu.nib/ trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Resources/English.lproj/MainMenu.nib/classes.nib trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib trunk/xcode/PasteboardReader/build/Debug/PasteboardReader.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib trunk/xcode/PasteboardReader/build/PasteboardReader.build/ trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/ trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/ trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/Objects-normal/ trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/Objects-normal/i386/ trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/Objects-normal/i386/CopyMonitor.ob trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/Objects-normal/i386/CopyMonitor.o~$ trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/Objects-normal/i386/CopyMonitor.o~> trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/Objects-normal/i386/PasteboardReader.zerolink trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/Objects-normal/i386/main.ob trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/PasteboardReader.dep trunk/xcode/PasteboardReader/build/PasteboardReader.build/Debug/PasteboardReader.build/PasteboardReader.hmap trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/ trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/categories.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/cdecls.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/decls.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/files.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/imports.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/pbxindex.header trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/protocols.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/refs.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/strings.pbxstrings/ trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/strings.pbxstrings/control trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/strings.pbxstrings/strings trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/subclasses.pbxbtree trunk/xcode/PasteboardReader/build/PasteboardReader.build/PasteboardReader.pbxindex/symbols0.pbxsymbols trunk/xcode/PasteboardReader/main.m Added: trunk/xcode/PasteboardReader/CopyMonitor.h =================================================================== --- trunk/xcode/PasteboardReader/CopyMonitor.h (rev 0) +++ trunk/xcode/PasteboardReader/CopyMonitor.h 2007-02-16 23:58:52 UTC (rev 37) @@ -0,0 +1,23 @@ +// +// CopyMonitor.h +// Test +// +// Created by François Terrier on 09.02.07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import <Cocoa/Cocoa.h> + + +@interface CopyMonitor : NSObject { + NSPasteboard * pasteboard; + int count; +} + +- (void) monitor; + +@end + +@interface NSObject(CopyMonitorDelegate) +- (void)clipboardChanged; +@end \ No newline at end of file Added: trunk/xcode/PasteboardReader/CopyMonitor.m =================================================================== --- trunk/xcode/PasteboardReader/CopyMonitor.m (rev 0) +++ trunk/xcode/PasteboardReader/CopyMonitor.m 2007-02-16 23:58:52 UTC (rev 37) @@ -0,0 +1,91 @@ +// +// CopyMonitor.m +// Test +// +// Created by François Terrier on 09.02.07. +// Copyright 2007 __MyCompanyName__. All rights reserved. +// + +#import "CopyMonitor.h" +#import <Cocoa/Cocoa.h> + +@implementation CopyMonitor + +-(id) init { + self = [super init]; + pasteboard = [NSPasteboard generalPasteboard]; + return self; +} + +- (void) monitor { + [NSThread detachNewThreadSelector:@selector(threadEntryPoint:) toTarget:[CopyMonitor class] withObject:self]; +} + ++ (void) threadEntryPoint:(id)anObject { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + NSMachPort* portObj = [NSMachPort port]; + [portObj setDelegate:anObject]; + [[NSRunLoop currentRunLoop] addPort:portObj forMode:NSDefaultRunLoopMode]; + + // Start the run loop. + do { + [anObject updateClipboard]; + NSDate* next = [NSDate dateWithTimeIntervalSinceNow:0.5]; + [[NSRunLoop currentRunLoop] runUntilDate:next]; + } + while (![anObject shouldExit]); + + [pool release]; +} + +- (void) updateClipboard { + if (count == [pasteboard changeCount]) return; + count = [pasteboard changeCount]; + + [self clipboardChanged]; + +} + +- (void)clipboardChanged { + // these 2 lines do not belong here + // NSArray *supportedTypes = [NSArray arrayWithObjects: NSFilesPromisePboardType, NSFilenamesPboardType, nil]; + // if ([pasteboard availableTypeFromArray:supportedTypes] == NSFilenamesPboardType) return; + + NSEnumerator *enumerator = [[pasteboard types] objectEnumerator]; + id element; + + printf("**** Available ****\n"); + while(element = [enumerator nextObject]) + { + printf([element cString]); + if ([element isEqualTo:NSStringPboardType] || [element isEqualTo:NSFilenamesPboardType] || [element isEqualTo:NSURLPboardType]) { + printf(": "); + printf([[pasteboard stringForType:element] cString]); + } + if ([element isEqualTo:NSFilenamesPboardType]) { + NSEnumerator * enumerator2 = [[pasteboard propertyListForType:NSFilenamesPboardType] objectEnumerator]; + printf("\n** Property list **\n"); + while(element = [enumerator2 nextObject]) + { + printf([element cString]); + printf("\n"); + } + printf("**\n"); + } + printf("\n"); + } + printf("*******************\n"); + +} + + +- (void)dealloc { + [super dealloc]; +} + +- (BOOL) shouldExit { + return NO; +} + +@end Added: trunk/xcode/PasteboardReader/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Property changes on: trunk/xcode/PasteboardReader/English.lproj/InfoPlist.strings ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/classes.nib =================================================================== --- trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/classes.nib (rev 0) +++ trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/classes.nib 2007-02-16 23:58:52 UTC (rev 37) @@ -0,0 +1,4 @@ +{ + IBClasses = ({CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }); + IBVersion = 1; +} \ No newline at end of file Added: trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/info.nib =================================================================== --- trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/info.nib (rev 0) +++ trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/info.nib 2007-02-16 23:58:52 UTC (rev 37) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBDocumentLocation</key> + <string>94 103 356 240 0 0 1280 1002 </string> + <key>IBEditorPositions</key> + <dict> + <key>29</key> + <string>93 343 318 44 0 0 1280 1002 </string> + </dict> + <key>IBFramework Version</key> + <string>401.0</string> + <key>IBOpenObjects</key> + <array> + <integer>29</integer> + <integer>21</integer> + </array> + <key>IBSystem Version</key> + <string>8A259</string> +</dict> +</plist> Added: trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Property changes on: trunk/xcode/PasteboardReader/English.lproj/MainMenu.nib/keyedobjects.nib ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/xcode/PasteboardReader/Info.plist =================================================================== --- trunk/xcode/PasteboardReader/Info.plist (rev 0) +++ trunk/xcode/PasteboardReader/Info.plist 2007-02-16 23:58:52 UTC (rev 37) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.yourcompany.PasteboardReader</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>NSMainNibFile</key> + <string>MainMenu</string> + <key>NSPrincipalClass</key> + <string>NSApplication</string> +</dict> +</plist> Added: trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.mode1 =================================================================== --- trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.mode1 (rev 0) +++ trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.mode1 2007-02-16 23:58:52 UTC (rev 37) @@ -0,0 +1,1450 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActivePerspectiveName</key> + <string>Project</string> + <key>AllowedModules</key> + <array> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Name</key> + <string>Groups and Files Outline View</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Name</key> + <string>Editor</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCTaskListModule</string> + <key>Name</key> + <string>Task List</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCDetailModule</string> + <key>Name</key> + <string>File and Smart Group Detail Viewer</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXBuildResultsModule</string> + <key>Name</key> + <string>Detailed Build Results Viewer</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXProjectFindModule</string> + <key>Name</key> + <string>Project Batch Find Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXRunSessionModule</string> + <key>Name</key> + <string>Run Log</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXBookmarksModule</string> + <key>Name</key> + <string>Bookmarks Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXClassBrowserModule</string> + <key>Name</key> + <string>Class Browser</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXCVSModule</string> + <key>Name</key> + <string>Source Code Control Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXDebugBreakpointsModule</string> + <key>Name</key> + <string>Debug Breakpoints Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>XCDockableInspector</string> + <key>Name</key> + <string>Inspector</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>n</string> + <key>Module</key> + <string>PBXOpenQuicklyModule</string> + <key>Name</key> + <string>Open Quickly Tool</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXDebugSessionModule</string> + <key>Name</key> + <string>Debugger</string> + </dict> + <dict> + <key>BundleLoadPath</key> + <string></string> + <key>MaxInstances</key> + <string>1</string> + <key>Module</key> + <string>PBXDebugCLIModule</string> + <key>Name</key> + <string>Debug Console</string> + </dict> + </array> + <key>Description</key> + <string>DefaultDescriptionKey</string> + <key>DockingSystemVisible</key> + <false/> + <key>Extension</key> + <string>mode1</string> + <key>FavBarConfig</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD58160B83C8BD00E7DEA7</string> + <key>XCBarModuleItemNames</key> + <dict/> + <key>XCBarModuleItems</key> + <array/> + </dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>com.apple.perspectives.project.mode1</string> + <key>MajorVersion</key> + <integer>31</integer> + <key>MinorVersion</key> + <integer>1</integer> + <key>Name</key> + <string>Default</string> + <key>Notifications</key> + <array/> + <key>OpenEditors</key> + <array> + <dict> + <key>Content</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD581A0B83C8BD00E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.m</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD581B0B83C8BD00E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.m</string> + <key>_historyCapacity</key> + <integer>0</integer> + <key>bookmark</key> + <string>30AD59C30B84CF2700E7DEA7</string> + <key>history</key> + <array> + <string>30AD59B20B83D80800E7DEA7</string> + <string>30AD59B30B83D80800E7DEA7</string> + </array> + <key>prevStack</key> + <array> + <string>30AD58890B83CC8C00E7DEA7</string> + <string>30AD58A90B83CDA600E7DEA7</string> + <string>30AD58AC0B83CDA600E7DEA7</string> + <string>30AD59B40B83D80800E7DEA7</string> + <string>30AD59B50B83D80800E7DEA7</string> + </array> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>Geometry</key> + <dict> + <key>Frame</key> + <string>{{0, 20}, {1082, 651}}</string> + <key>PBXModuleWindowStatusBarHidden2</key> + <false/> + <key>RubberWindowFrame</key> + <string>38 60 1082 692 0 0 1280 778 </string> + </dict> + </dict> + <dict> + <key>Content</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD599A0B83D76E00E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.h</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>30AD59AF0B83D80800E7DEA7</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.h</string> + <key>_historyCapacity</key> + <integer>0</integer> + <key>bookmark</key> + <string>30AD59C40B84CF2700E7DEA7</string> + <key>history</key> + <array> + <string>30AD59B00B83D80800E7DEA7</string> + </array> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>Geometry</key> + <dict> + <key>Frame</key> + <string>{{0, 20}, {694, 648}}</string> + <key>PBXModuleWindowStatusBarHidden2</key> + <false/> + <key>RubberWindowFrame</key> + <string>38 63 694 689 0 0 1280 778 </string> + </dict> + </dict> + </array> + <key>PerspectiveWidths</key> + <array> + <integer>-1</integer> + <integer>-1</integer> + </array> + <key>Perspectives</key> + <array> + <dict> + <key>ChosenToolbarItems</key> + <array> + <string>active-target-popup</string> + <string>active-buildstyle-popup</string> + <string>action</string> + <string>NSToolbarFlexibleSpaceItem</string> + <string>buildOrClean</string> + <string>build-and-runOrDebug</string> + <string>com.apple.ide.PBXToolbarStopButton</string> + <string>get-info</string> + <string>toggle-editor</string> + <string>NSToolbarFlexibleSpaceItem</string> + <string>com.apple.pbx.toolbar.searchfield</string> + </array> + <key>ControllerClassBaseName</key> + <string></string> + <key>IconName</key> + <string>WindowOfProjectWithEditor</string> + <key>Identifier</key> + <string>perspective.project</string> + <key>IsVertical</key> + <false/> + <key>Layout</key> + <array> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C37FBAC04509CD000000102</string> + <string>1C37FAAC04509CD000000102</string> + <string>1C08E77C0454961000C914BD</string> + <string>1C37FABC05509CD000000102</string> + <string>1C37FABC05539CD112110102</string> + <string>E2644B35053B69B200211256</string> + <string>1C37FABC04509CD000100104</string> + <string>1CC0EA4004350EF90044410B</string> + <string>1CC0EA4004350EF90041110B</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>1CE0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>yes</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>206</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>29B97314FDCFA39411CA2CEA</string> + <string>29B97315FDCFA39411CA2CEA</string> + <string>29B97323FDCFA39411CA2CEA</string> + <string>19C28FACFE9D520D11CA2CBB</string> + <string>1C37FABC05509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>12</integer> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {206, 338}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <true/> + <key>XCSharingToken</key> + <string>com.apple.Xcode.GFSharingToken</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {223, 356}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>206</real> + </array> + <key>RubberWindowFrame</key> + <string>218 158 690 397 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>223pt</string> + </dict> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20306471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>MyNewFile14.java</string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20406471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>MyNewFile14.java</string> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {462, 0}}</string> + <key>RubberWindowFrame</key> + <string>218 158 690 397 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>0pt</string> + </dict> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CE0B20506471E060097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Detail</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 5}, {462, 351}}</string> + <key>RubberWindowFrame</key> + <string>218 158 690 397 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>XCDetailModule</string> + <key>Proportion</key> + <string>351pt</string> + </dict> + </array> + <key>Proportion</key> + <string>462pt</string> + </dict> + </array> + <key>Name</key> + <string>Project</string> + <key>ServiceClasses</key> + <array> + <string>XCModuleDock</string> + <string>PBXSmartGroupTreeModule</string> + <string>XCModuleDock</string> + <string>PBXNavigatorGroup</string> + <string>XCDetailModule</string> + </array> + <key>TableOfContents</key> + <array> + <string>30AD58140B83C8BD00E7DEA7</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>30AD58150B83C8BD00E7DEA7</string> + <string>1CE0B20306471E060097A5F4</string> + <string>1CE0B20506471E060097A5F4</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.default</string> + </dict> + <dict> + <key>ControllerClassBaseName</key> + <string></string> + <key>IconName</key> + <string>WindowOfProject</string> + <key>Identifier</key> + <string>perspective.morph</string> + <key>IsVertical</key> + <integer>0</integer> + <key>Layout</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C37FBAC04509CD000000102</string> + <string>1C37FAAC04509CD000000102</string> + <string>1C08E77C0454961000C914BD</string> + <string>1C37FABC05509CD000000102</string> + <string>1C37FABC05539CD112110102</string> + <string>E2644B35053B69B200211256</string> + <string>1C37FABC04509CD000100104</string> + <string>1CC0EA4004350EF90044410B</string> + <string>1CC0EA4004350EF90041110B</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>11E0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>yes</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>186</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>29B97314FDCFA39411CA2CEA</string> + <string>1C37FABC05509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {186, 337}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <integer>1</integer> + <key>XCSharingToken</key> + <string>com.apple.Xcode.GFSharingToken</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {203, 355}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>186</real> + </array> + <key>RubberWindowFrame</key> + <string>373 269 690 397 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Morph</string> + <key>PreferredWidth</key> + <integer>300</integer> + <key>ServiceClasses</key> + <array> + <string>XCModuleDock</string> + <string>PBXSmartGroupTreeModule</string> + </array> + <key>TableOfContents</key> + <array> + <string>11E0B1FE06471DED0097A5F4</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.default.short</string> + </dict> + </array> + <key>PerspectivesBarVisible</key> + <false/> + <key>PinnedNavigatorIdentifier</key> + <string>30AD599A0B83D76E00E7DEA7</string> + <key>ShelfIsVisible</key> + <false/> + <key>SourceDescription</key> + <string>file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string> + <key>StatusbarIsVisible</key> + <true/> + <key>TimeStamp</key> + <real>0.0</real> + <key>ToolbarDisplayMode</key> + <integer>1</integer> + <key>ToolbarIsVisible</key> + <true/> + <key>ToolbarSizeMode</key> + <integer>1</integer> + <key>Type</key> + <string>Perspectives</string> + <key>UpdateMessage</key> + <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string> + <key>WindowJustification</key> + <integer>5</integer> + <key>WindowOrderList</key> + <array> + <string>30AD599A0B83D76E00E7DEA7</string> + <string>30AD589C0B83CCC200E7DEA7</string> + <string>30AD589D0B83CCC200E7DEA7</string> + <string>30AD58940B83CC9700E7DEA7</string> + <string>1CD10A99069EF8BA00B06720</string> + <string>30AD58930B83CC9700E7DEA7</string> + <string>1C0AD2B3069F1EA900FABCE6</string> + <string>30AD580D0B83C8AB00E7DEA7</string> + <string>30AD581A0B83C8BD00E7DEA7</string> + <string>/Users/franz/PasteboardReader/PasteboardReader.xcodeproj</string> + </array> + <key>WindowString</key> + <string>218 158 690 397 0 0 1280 778 </string> + <key>WindowTools</key> + <array> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.build</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528F0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>CopyMonitor.h</string> + <key>StatusBarVisibility</key> + <true/> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {500, 218}}</string> + <key>RubberWindowFrame</key> + <string>59 229 500 500 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>218pt</string> + </dict> + <dict> + <key>BecomeActive</key> + <true/> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>XCMainBuildResultsModuleGUID</string> + <key>PBXProjectModuleLabel</key> + <string>Build</string> + <key>XCBuildResultsTrigger_Collapse</key> + <integer>1021</integer> + <key>XCBuildResultsTrigger_Open</key> + <integer>1011</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 223}, {500, 236}}</string> + <key>RubberWindowFrame</key> + <string>59 229 500 500 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXBuildResultsModule</string> + <key>Proportion</key> + <string>236pt</string> + </dict> + </array> + <key>Proportion</key> + <string>459pt</string> + </dict> + </array> + <key>Name</key> + <string>Build Results</string> + <key>ServiceClasses</key> + <array> + <string>PBXBuildResultsModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>30AD580D0B83C8AB00E7DEA7</string> + <string>30AD580E0B83C8AB00E7DEA7</string> + <string>1CD0528F0623707200166675</string> + <string>XCMainBuildResultsModuleGUID</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.build</string> + <key>WindowString</key> + <string>59 229 500 500 0 0 1280 778 </string> + <key>WindowToolGUID</key> + <string>30AD580D0B83C8AB00E7DEA7</string> + <key>WindowToolIsVisible</key> + <true/> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.debugger</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>Debugger</key> + <dict> + <key>HorizontalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {316, 183}}</string> + <string>{{316, 0}, {378, 183}}</string> + </array> + </dict> + <key>VerticalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {694, 183}}</string> + <string>{{0, 183}, {694, 198}}</string> + </array> + </dict> + </dict> + <key>LauncherConfigVersion</key> + <string>8</string> + <key>PBXProjectModuleGUID</key> + <string>1C162984064C10D400B95A72</string> + <key>PBXProjectModuleLabel</key> + <string>Debug - GLUTExamples (Underwater)</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>DebugConsoleDrawerSize</key> + <string>{100, 120}</string> + <key>DebugConsoleVisible</key> + <string>None</string> + <key>DebugConsoleWindowFrame</key> + <string>{{200, 200}, {500, 300}}</string> + <key>DebugSTDIOWindowFrame</key> + <string>{{200, 200}, {500, 300}}</string> + <key>Frame</key> + <string>{{0, 0}, {694, 381}}</string> + <key>RubberWindowFrame</key> + <string>595 297 694 422 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXDebugSessionModule</string> + <key>Proportion</key> + <string>381pt</string> + </dict> + </array> + <key>Proportion</key> + <string>381pt</string> + </dict> + </array> + <key>Name</key> + <string>Debugger</string> + <key>ServiceClasses</key> + <array> + <string>PBXDebugSessionModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>1CD10A99069EF8BA00B06720</string> + <string>30AD588D0B83CC9700E7DEA7</string> + <string>1C162984064C10D400B95A72</string> + <string>30AD588E0B83CC9700E7DEA7</string> + <string>30AD588F0B83CC9700E7DEA7</string> + <string>30AD58900B83CC9700E7DEA7</string> + <string>30AD58910B83CC9700E7DEA7</string> + <string>30AD58920B83CC9700E7DEA7</string> + <string>30AD58930B83CC9700E7DEA7</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.debug</string> + <key>WindowString</key> + <string>595 297 694 422 0 0 1280 778 </string> + <key>WindowToolGUID</key> + <string>1CD10A99069EF8BA00B06720</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.find</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CDD528C0622207200134675</string> + <key>PBXProjectModuleLabel</key> + <string><No Editor></string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528D0623707200166675</string> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <integer>1</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {781, 167}}</string> + <key>RubberWindowFrame</key> + <string>62 385 781 470 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>781pt</string> + </dict> + </array> + <key>Proportion</key> + <string>50%</string> + </dict> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD0528E0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>Project Find</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{8, 0}, {773, 254}}</string> + <key>RubberWindowFrame</key> + <string>62 385 781 470 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXProjectFindModule</string> + <key>Proportion</key> + <string>50%</string> + </dict> + </array> + <key>Proportion</key> + <string>428pt</string> + </dict> + </array> + <key>Name</key> + <string>Project Find</string> + <key>ServiceClasses</key> + <array> + <string>PBXProjectFindModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1C530D57069F1CE1000CFCEE</string> + <string>1C530D58069F1CE1000CFCEE</string> + <string>1C530D59069F1CE1000CFCEE</string> + <string>1CDD528C0622207200134675</string> + <string>1C530D5A069F1CE1000CFCEE</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>1CD0528E0623707200166675</string> + </array> + <key>WindowString</key> + <string>62 385 781 470 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1C530D57069F1CE1000CFCEE</string> + <key>WindowToolIsVisible</key> + <integer>0</integer> + </dict> + <dict> + <key>Identifier</key> + <string>MENUSEPARATOR</string> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.debuggerConsole</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAAC065D492600B07095</string> + <key>PBXProjectModuleLabel</key> + <string>Debugger Console</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {440, 358}}</string> + <key>RubberWindowFrame</key> + <string>101 283 440 400 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXDebugCLIModule</string> + <key>Proportion</key> + <string>358pt</string> + </dict> + </array> + <key>Proportion</key> + <string>359pt</string> + </dict> + </array> + <key>Name</key> + <string>Debugger Console</string> + <key>ServiceClasses</key> + <array> + <string>PBXDebugCLIModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>30AD58940B83CC9700E7DEA7</string> + <string>30AD58950B83CC9700E7DEA7</string> + <string>1C78EAAC065D492600B07095</string> + </array> + <key>WindowString</key> + <string>101 283 440 400 0 0 1280 778 </string> + <key>WindowToolGUID</key> + <string>30AD58940B83CC9700E7DEA7</string> + <key>WindowToolIsVisible</key> + <false/> + </dict> + <dict> + <key>FirstTimeWindowDisplayed</key> + <false/> + <key>Identifier</key> + <string>windowTool.run</string> + <key>IsVertical</key> + <true/> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>LauncherConfigVersion</key> + <string>3</string> + <key>PBXProjectModuleGUID</key> + <string>1CD0528B0623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>Run</string> + <key>Runner</key> + <dict> + <key>HorizontalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {493, 167}}</string> + <string>{{0, 176}, {493, 267}}</string> + </array> + </dict> + <key>VerticalSplitView</key> + <dict> + <key>_collapsingFrameDimension</key> + <real>0.0</real> + <key>_indexOfCollapsedView</key> + <integer>0</integer> + <key>_percentageOfCollapsedView</key> + <real>0.0</real> + <key>isCollapsed</key> + <string>yes</string> + <key>sizes</key> + <array> + <string>{{0, 0}, {405, 443}}</string> + <string>{{414, 0}, {514, 443}}</string> + </array> + </dict> + </dict> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {488, 333}}</string> + <key>RubberWindowFrame</key> + <string>759 42 488 374 0 0 1280 778 </string> + </dict> + <key>Module</key> + <string>PBXRunSessionModule</string> + <key>Proportion</key> + <string>333pt</string> + </dict> + </array> + <key>Proportion</key> + <string>333pt</string> + </dict> + </array> + <key>Name</key> + <string>Run Log</string> + <key>ServiceClasses</key> + <array> + <string>PBXRunSessionModule</string> + </array> + <key>StatusbarIsVisible</key> + <true/> + <key>TableOfContents</key> + <array> + <string>1C0AD2B3069F1EA900FABCE6</string> + <string>30AD580F0B83C8AB00E7DEA7</string> + <string>1CD0528B0623707200166675</string> + <string>30AD58100B83C8AB00E7DEA7</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.run</string> + <key>WindowString</key> + <string>759 42 488 374 0 0 1280 778 </string> + <key>WindowToolGUID</key> + <string>1C0AD2B3069F1EA900FABCE6</string> + <key>WindowToolIsVisible</key> + <true/> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.scm</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAB2065D492600B07095</string> + <key>PBXProjectModuleLabel</key> + <string><No Editor></string> + <key>PBXSplitModuleInNavigatorKey</key> + <dict> + <key>Split0</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1C78EAB3065D492600B07095</string> + </dict> + <key>SplitCount</key> + <string>1</string> + </dict> + <key>StatusBarVisibility</key> + <integer>1</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {452, 0}}</string> + <key>RubberWindowFrame</key> + <string>743 379 452 308 0 0 1280 1002 </string> + </dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>0pt</string> + </dict> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CD052920623707200166675</string> + <key>PBXProjectModuleLabel</key> + <string>SCM</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>ConsoleFrame</key> + <string>{{0, 259}, {452, 0}}</string> + <key>Frame</key> + <string>{{0, 7}, {452, 259}}</string> + <key>RubberWindowFrame</key> + <string>743 379 452 308 0 0 1280 1002 </string> + <key>TableConfiguration</key> + <array> + <string>Status</string> + <real>30</real> + <string>FileName</string> + <real>199</real> + <string>Path</string> + <real>197.09500122070312</real> + </array> + <key>TableFrame</key> + <string>{{0, 0}, {452, 250}}</string> + </dict> + <key>Module</key> + <string>PBXCVSModule</string> + <key>Proportion</key> + <string>262pt</string> + </dict> + </array> + <key>Proportion</key> + <string>266pt</string> + </dict> + </array> + <key>Name</key> + <string>SCM</string> + <key>ServiceClasses</key> + <array> + <string>PBXCVSModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1C78EAB4065D492600B07095</string> + <string>1C78EAB5065D492600B07095</string> + <string>1C78EAB2065D492600B07095</string> + <string>1CD052920623707200166675</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.scm</string> + <key>WindowString</key> + <string>743 379 452 308 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.breakpoints</string> + <key>IsVertical</key> + <integer>0</integer> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>PBXBottomSmartGroupGIDs</key> + <array> + <string>1C77FABC04509CD000000102</string> + </array> + <key>PBXProjectModuleGUID</key> + <string>1CE0B1FE06471DED0097A5F4</string> + <key>PBXProjectModuleLabel</key> + <string>Files</string> + <key>PBXProjectStructureProvided</key> + <string>no</string> + <key>PBXSmartGroupTreeModuleColumnData</key> + <dict> + <key>PBXSmartGroupTreeModuleColumnWidthsKey</key> + <array> + <real>168</real> + </array> + <key>PBXSmartGroupTreeModuleColumnsKey_v4</key> + <array> + <string>MainColumn</string> + </array> + </dict> + <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key> + <dict> + <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key> + <array> + <string>1C77FABC04509CD000000102</string> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> + <array> + <array> + <integer>0</integer> + </array> + </array> + <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> + <string>{{0, 0}, {168, 350}}</string> + </dict> + <key>PBXTopSmartGroupGIDs</key> + <array/> + <key>XCIncludePerspectivesSwitch</key> + <integer>0</integer> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{0, 0}, {185, 368}}</string> + <key>GroupTreeTableConfiguration</key> + <array> + <string>MainColumn</string> + <real>168</real> + </array> + <key>RubberWindowFrame</key> + <string>315 424 744 409 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXSmartGroupTreeModule</string> + <key>Proportion</key> + <string>185pt</string> + </dict> + <dict> + <key>ContentConfiguration</key> + <dict> + <key>PBXProjectModuleGUID</key> + <string>1CA1AED706398EBD00589147</string> + <key>PBXProjectModuleLabel</key> + <string>Detail</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>Frame</key> + <string>{{190, 0}, {554, 368}}</string> + <key>RubberWindowFrame</key> + <string>315 424 744 409 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>XCDetailModule</string> + <key>Proportion</key> + <string>554pt</string> + </dict> + </array> + <key>Proportion</key> + <string>368pt</string> + </dict> + </array> + <key>MajorVersion</key> + <integer>2</integer> + <key>MinorVersion</key> + <integer>0</integer> + <key>Name</key> + <string>Breakpoints</string> + <key>ServiceClasses</key> + <array> + <string>PBXSmartGroupTreeModule</string> + <string>XCDetailModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>TableOfContents</key> + <array> + <string>1CDDB66807F98D9800BB5817</string> + <string>1CDDB66907F98D9800BB5817</string> + <string>1CE0B1FE06471DED0097A5F4</string> + <string>1CA1AED706398EBD00589147</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.breakpoints</string> + <key>WindowString</key> + <string>315 424 744 409 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1CDDB66807F98D9800BB5817</string> + <key>WindowToolIsVisible</key> + <integer>1</integer> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.debugAnimator</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>PBXNavigatorGroup</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Debug Visualizer</string> + <key>ServiceClasses</key> + <array> + <string>PBXNavigatorGroup</string> + </array> + <key>StatusbarIsVisible</key> + <integer>1</integer> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.debugAnimator</string> + <key>WindowString</key> + <string>100 100 700 500 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.bookmarks</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>Module</key> + <string>PBXBookmarksModule</string> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Proportion</key> + <string>100%</string> + </dict> + </array> + <key>Name</key> + <string>Bookmarks</string> + <key>ServiceClasses</key> + <array> + <string>PBXBookmarksModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>0</integer> + <key>WindowString</key> + <string>538 42 401 187 0 0 1280 1002 </string> + </dict> + <dict> + <key>Identifier</key> + <string>windowTool.classBrowser</string> + <key>Layout</key> + <array> + <dict> + <key>Dock</key> + <array> + <dict> + <key>BecomeActive</key> + <integer>1</integer> + <key>ContentConfiguration</key> + <dict> + <key>OptionsSetName</key> + <string>Hierarchy, all classes</string> + <key>PBXProjectModuleGUID</key> + <string>1CA6456E063B45B4001379D8</string> + <key>PBXProjectModuleLabel</key> + <string>Class Browser - NSObject</string> + </dict> + <key>GeometryConfiguration</key> + <dict> + <key>ClassesFrame</key> + <string>{{0, 0}, {374, 96}}</string> + <key>ClassesTreeTableConfiguration</key> + <array> + <string>PBXClassNameColumnIdentifier</string> + <real>208</real> + <string>PBXClassBookColumnIdentifier</string> + <real>22</real> + </array> + <key>Frame</key> + <string>{{0, 0}, {630, 331}}</string> + <key>MembersFrame</key> + <string>{{0, 105}, {374, 395}}</string> + <key>MembersTreeTableConfiguration</key> + <array> + <string>PBXMemberTypeIconColumnIdentifier</string> + <real>22</real> + <string>PBXMemberNameColumnIdentifier</string> + <real>216</real> + <string>PBXMemberTypeColumnIdentifier</string> + <real>97</real> + <string>PBXMemberBookColumnIdentifier</string> + <real>22</real> + </array> + <key>PBXModuleWindowStatusBarHidden2</key> + <integer>1</integer> + <key>RubberWindowFrame</key> + <string>385 179 630 352 0 0 1440 878 </string> + </dict> + <key>Module</key> + <string>PBXClassBrowserModule</string> + <key>Proportion</key> + <string>332pt</string> + </dict> + </array> + <key>Proportion</key> + <string>332pt</string> + </dict> + </array> + <key>Name</key> + <string>Class Browser</string> + <key>ServiceClasses</key> + <array> + <string>PBXClassBrowserModule</string> + </array> + <key>StatusbarIsVisible</key> + <integer>0</integer> + <key>TableOfContents</key> + <array> + <string>1C0AD2AF069F1E9B00FABCE6</string> + <string>1C0AD2B0069F1E9B00FABCE6</string> + <string>1CA6456E063B45B4001379D8</string> + </array> + <key>ToolbarConfiguration</key> + <string>xcode.toolbar.config.classbrowser</string> + <key>WindowString</key> + <string>385 179 630 352 0 0 1440 878 </string> + <key>WindowToolGUID</key> + <string>1C0AD2AF069F1E9B00FABCE6</string> + <key>WindowToolIsVisible</key> + <integer>0</integer> + </dict> + </array> +</dict> +</plist> Added: trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.pbxuser =================================================================== --- trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.pbxuser (rev 0) +++ trunk/xcode/PasteboardReader/PasteboardReader.xcodeproj/franz.pbxuser 2007-02-16 23:58:52 UTC (rev 37) @@ -0,0 +1,221 @@ +// !$*UTF8*$! +{ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + activeBuildConfigurationName = Debug; + activeExecutable = 30AD57CD0B83C6D000E7DEA7 /* PasteboardReader */; + activeTarget = 8D1107260486CEB800E47090 /* PasteboardReader */; + addToTargets = ( + ); + codeSenseManager = 30AD57D40B83C6E600E7DEA7 /* Code sense */; + executables = ( + 30AD57CD0B83C6D000E7DEA7 /* PasteboardReader */, + ); + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 223, + 20, + 48.1626, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 193185488; + PBXWorkspaceStateSaveDate = 193185488; + }; + perUserProjectItems = { + 30AD58890B83CC8C00E7DEA7 /* PBXTextBookmark */ = 30AD58890B83CC8C00E7DEA7 /* PBXTextBookmark */; + 30AD58A90B83CDA600E7DEA7 /* PBXTextBookmark */ = 30AD58A90B83CDA600E7DEA7 /* PBXTextBookmark */; + 30AD58AC0B83CDA600E7DEA7 /* PBXTextBookmark */ = 30AD58AC0B83CDA600E7DEA7 /* PBXTextBookmark */; + 30AD59B00B83D80800E7DEA7 /* PBXTextBookmark */ = 30AD59B00B83D80800E7DEA7 /* PBXTextBookmark */; + 30AD59B20B83D80800E7DEA7 /* PBXTextBookmark */ = 30AD59B20B83D80800E7DEA7 /* PBXTextBookmark */; + 30AD59B30B83D80800E7DEA7 /* PBXTextBookmark */ = 30AD59B30B83D80800E7DEA7 /* PBXTextBookmark */; + 30AD59B40B83D80800E7DEA7 /* PBXTextBookmark */ = 30AD59B40B83D80800E7DEA7 /* PBXTextBookmark */; + 30AD59B50B83D80800E7DEA7 /* PBXTextBookmark */ = 30AD59B50B83D80800E7DEA7 /* PBXTextBookmark */; + 30AD59C30B84CF2700E7DEA7 /* PBXTextBookmark */ = 30AD59C30B84CF2700E7DEA7 /* PBXTextBookmark */; + 30AD59C40B84CF2700E7DEA7 /* PBXTextBookmark */ = 30AD59C40B84CF2700E7DEA7 /* PBXTextBookmark */; + }; + sourceControlManager = 30AD57D30B83C6E600E7DEA7 /* Source Control */; + userBuildSettings = { + }; + }; + 30AD57CD0B83C6D000E7DEA7 /* PasteboardReader */ = { + isa = PBXExecutable; + activeArgIndex = 2147483647; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + configStateDict = { + }; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = PasteboardReader; + savedGlobals = { + }; + sourceDirectories = ( + ); + variableFormatDictionary = { + }; + }; + 30AD57D10B83C6E600E7DEA7 /* CopyMonitor.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1043, 1288}}"; + sepNavSelRange = "{967, 48}"; + sepNavVisRect = "{{0, 280}, {1043, 619}}"; + sepNavWindowFrame = "{{38, 4}, {1082, 748}}"; + }; + }; + 30AD57D30B83C6E600E7DEA7 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + }; + scmType = ""; + }; + 30AD57D40B83C6E600E7DEA7 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 30AD57DD0B83C7C200E7DEA7 /* main.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1043, 619}}"; + sepNavSelRange = "{22, 1}"; + sepNavVisRect = "{{0, 0}, {1043, 619}}"; + }; + }; + 30AD58890B83CC8C00E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD57DD0B83C7C200E7DEA7 /* main.m */; + name = "main.m: 19"; + rLen = 0; + rLoc = 414; + rType = 0; + vrLen = 643; + vrLoc = 0; + }; + 30AD58A90B83CDA600E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD57D10B83C6E600E7DEA7 /* CopyMonitor.m */; + name = "CopyMonitor.m: 61"; + rLen = 0; + rLoc = 1541; + rType = 0; + vrLen = 1102; + vrLoc = 1050; + }; + 30AD58AC0B83CDA600E7DEA7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 30AD57DD0B83C7C200E7DEA7 /* main.m */; + name = "main.m: 19"; + rLen = 0; + rLoc = 414; + rType = 0; +... [truncated message content] |
From: <jlg...@us...> - 2007-02-14 00:20:28
|
Revision: 36 http://trivial.svn.sourceforge.net/trivial/?rev=36&view=rev Author: jlgeering Date: 2007-02-13 16:20:20 -0800 (Tue, 13 Feb 2007) Log Message: ----------- ClipboardReader mac version Added Paths: ----------- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReader.java Added: trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReader.java =================================================================== --- trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReader.java (rev 0) +++ trunk/eclipse/easypaste/src/net/sf/trivial/easypaste/mac/ClipboardReader.java 2007-02-14 00:20:20 UTC (rev 36) @@ -0,0 +1,76 @@ +package net.sf.trivial.easypaste.mac; + +import net.sf.trivial.easypaste.EasyListener; + +import com.apple.cocoa.application.NSPasteboard; +import com.apple.cocoa.foundation.NSMutableArray; +import com.growl.Growl; + +public class ClipboardReader { + + private boolean running; + private NSPasteboard pasteboard; + private Growl growl; + private EasyListener el; + + private final static String GROWL_NOTIFICATION = "clipboard update"; + + public ClipboardReader() { + pasteboard = NSPasteboard.generalPasteboard(); + growl = new Growl("Easypast", "logo.png"); + NSMutableArray nsa = new NSMutableArray(); + nsa.addObject(GROWL_NOTIFICATION); + growl.setAllowedNotifications(nsa); + try { + growl.setDefaultNotifications(nsa); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + growl.register(); + el = new EasyListener(); + running = false; + } + + public void readOnce() { + if (running) { + return; + } + running = true; + new Thread(new Runnable() { + public void run() { + int count = pasteboard.changeCount(); + while (count == pasteboard.changeCount()) { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + String s = pasteboard.stringForType("NSStringPboardType"); + try { + growl.notifyGrowlOf(GROWL_NOTIFICATION, "Clipboard Update", s); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + el.sendString(s); + running = false; + } + }, "Clipboard Reader").start(); + } + + public static void main(String args[]) { + ClipboardReader cbr = new ClipboardReader(); + while (true) { + cbr.readOnce(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |