User Tools

Site Tools


proton:organization

Differences

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

Link to this comparison view

Next revision
Previous revision
proton:organization [2010/10/26 06:09] – created sethproton: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.
  
-Signals can also be scheduled with the MessageManager, connected to dynamically created entity functions, and even signal when variables change.  We'll get into it later, but it will totally rock your programming world.+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 
 +  * MessageManager can schedule slots to be called in the future 
 +  * You can have a function called when a Variant variable changes 
 + 
 +We'll get into it later, but it will totally rock your programming world.
  
proton/organization.txt · Last modified: 2012/02/21 00:03 by seth