User Tools

Site Tools


proton:organization

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
proton:organization [2010/10/26 06:21]
seth
proton:organization [2012/02/21 00:03] (current)
seth
Line 5: Line 5:
 install dir install dir
    ​shared (source/​libs shared between projects go here)    ​shared (source/​libs shared between projects go here)
-   ​RTBareBones (an app) +   ​RTBareBones (an app project directory
-   ​RTSimpleApp (an app)+   ​RTSimpleApp (an app project directory)
    your own app (put your stuff here too)    your own app (put your stuff here too)
 </​code>​ </​code>​
Line 14: Line 14:
 When editing something in the **"​shared"​** directory, be careful because you could break other apps. When editing something in the **"​shared"​** directory, be careful because you could break other apps.
  
-Projects are setup to use relative paths. ​ This means you can cut and paste your main proton directory to another location and you rprojects ​will still compile with MSVC, Xcode, and to WebOS. ​ Android compiles actually needs a few hardcoded paths setup right now so that part isn't perfect.+Projects are setup to use relative paths. ​ This means you can cut and paste your main proton directory to another location and your projects ​will still compile with MSVC, Xcode, and to WebOS. ​ Android compiles actually needs a few hardcoded paths setup right now so that part isn't perfect.
  
 Each project directory is setup like this: Each project directory is setup like this:
Line 26: Line 26:
   script (.bat files that do things like make zips and upload to ftp sites, probably not useful to you)   script (.bat files that do things like make zips and upload to ftp sites, probably not useful to you)
   windows (MSVC solution/​projects go here)   windows (MSVC solution/​projects go here)
 +  OSX (Mac OS X xCode project goes in here)
   android (all android related things go here)   android (all android related things go here)
   WebOS (Palm WebOS related things go here)   WebOS (Palm WebOS related things go here)
 +  bbx (RIM playbook related things go here)
 +  linux (for linux makefiles, etc)
   ​   ​
-  In the main app dir there is also some iOS stuff: (Hmm, I should have put it in an iOS dir but meh, this is how the project ​evolved)+  In the main app dir there is also some iOS stuff: (Hmm, I should have put it in an iOS dir but meh, this is how the framework ​evolved)
   app name.xcodeproj (a file: you open this with xcode)   app name.xcodeproj (a file: you open this with xcode)
   Info.plist   Info.plist
Line 39: Line 42:
 All apps have an App.h/​App.cpp in their app/source directory. ​ This subclasses BaseApp.cpp which is from the shared source dir. All apps have an App.h/​App.cpp in their app/source directory. ​ This subclasses BaseApp.cpp which is from the shared source dir.
  
-Non-app specific code will use GetBaseApp() to access your App object using the BaseApp interface. ​ You can do that as well, or use GetApp(), which will let you access your subclassed functions and variables as well.+Non-app specific code will use GetBaseApp() to access your App object using the BaseApp interface. ​ You can do that as well, or use GetApp(), which will let you access your subclassed functions and variables as well.  (They both point to the same class instance)
  
-Files like main.cpp and main.mm are only glue to let Proton work across platforms. ​ Think of App as the top level of your app where things should happen.+Shared files like main.cpp and main.mm are only glue to let Proton work across platforms. ​ Think of App as the top level of your app where things should happen.
  
 ====Signals and slots==== ====Signals and slots====
Line 71: Line 74:
 </​code>​ </​code>​
  
-Makes sense (despite that weird bind stuff), right? ​ If you have five font objects, all five will connect and be notified ​to and by the same signal.+Makes sense (despite that weird bind stuff), right? ​ If you have five font objects, all five will connect and be notified by the same signal.
  
 Or, if you wanted a plain old function to be called when this happens you could do: Or, if you wanted a plain old function to be called when this happens you could do:
  
-<​code>​+<​code ​cpp>
 void SomeCrapFunction() void SomeCrapFunction()
 { {
Line 85: Line 88:
 That's simpler. ​ A beautiful thing about these virtuals "​wires"​ is if one end dies (an object is destroyed for instance), the wire is automatically disconnected and you don't have to worry about it. That's simpler. ​ A beautiful thing about these virtuals "​wires"​ is if one end dies (an object is destroyed for instance), the wire is automatically disconnected and you don't have to worry about it.
  
-If you're thinking, "so what, it's just a replacement for polling a message pump", you still don't know the powa of the sigslot side <​cackle>​!+If you're thinking, "so what, it's just a replacement for polling a message pump", you still don't know the powah of the sigslot side <​cackle>​!
  
   * Entities can create their own named signals and slots dynamically,​ on the fly   * Entities can create their own named signals and slots dynamically,​ on the fly
proton/organization.1288074064.txt.gz · Last modified: 2010/10/26 06:21 by seth