status_bar 0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
 - data/.gitignore +14 -0
 - data/Gemfile +10 -0
 - data/Gemfile.lock +51 -0
 - data/Guardfile +12 -0
 - data/README.md +66 -0
 - data/Rakefile +28 -0
 - data/app/app_delegate.rb +10 -0
 - data/app/controllers/demo_controller.rb +51 -0
 - data/app/styles/demo_style.rb +88 -0
 - data/lib/project/base.rb +101 -0
 - data/lib/project/helper.rb +60 -0
 - data/lib/project/style.rb +87 -0
 - data/lib/project/view.rb +38 -0
 - data/lib/resources/error.png +0 -0
 - data/lib/resources/error@2x.png +0 -0
 - data/lib/resources/success.png +0 -0
 - data/lib/resources/success@2x.png +0 -0
 - data/lib/status_bar.rb +37 -0
 - data/resources/Default-568h@2x.png +0 -0
 - data/resources/error.png +0 -0
 - data/resources/error@2x.png +0 -0
 - data/resources/success.png +0 -0
 - data/resources/success@2x.png +0 -0
 - data/screenshots/activity.png +0 -0
 - data/screenshots/error.png +0 -0
 - data/screenshots/notice.png +0 -0
 - data/screenshots/success.png +0 -0
 - data/spec/app_delegate_spec.rb +15 -0
 - data/spec/demo_controller_spec.rb +52 -0
 - data/status_bar.gemspec +24 -0
 - data/vendor/Podfile.lock +10 -0
 - data/vendor/Pods/.build/libPods-Reachability.a +0 -0
 - data/vendor/Pods/.build/libPods.a +0 -0
 - data/vendor/Pods/BuildHeaders/Reachability/Reachability.h +109 -0
 - data/vendor/Pods/Headers/Reachability/Reachability.h +109 -0
 - data/vendor/Pods/Headers/____Pods-Reachability-prefix.h +5 -0
 - data/vendor/Pods/Headers/____Pods-environment.h +14 -0
 - data/vendor/Pods/Manifest.lock +10 -0
 - data/vendor/Pods/Pods-Reachability-Private.xcconfig +5 -0
 - data/vendor/Pods/Pods-Reachability-dummy.m +5 -0
 - data/vendor/Pods/Pods-Reachability-prefix.pch +5 -0
 - data/vendor/Pods/Pods-Reachability.xcconfig +1 -0
 - data/vendor/Pods/Pods-acknowledgements.markdown +17 -0
 - data/vendor/Pods/Pods-acknowledgements.plist +47 -0
 - data/vendor/Pods/Pods-dummy.m +5 -0
 - data/vendor/Pods/Pods-environment.h +14 -0
 - data/vendor/Pods/Pods-resources.sh +55 -0
 - data/vendor/Pods/Pods.bridgesupport +100 -0
 - data/vendor/Pods/Pods.xcconfig +4 -0
 - data/vendor/Pods/Pods.xcodeproj/project.pbxproj +960 -0
 - data/vendor/Pods/Pods.xcodeproj/xcuserdata/holgersindbaek.xcuserdatad/xcschemes/Pods-Reachability.xcscheme +59 -0
 - data/vendor/Pods/Pods.xcodeproj/xcuserdata/holgersindbaek.xcuserdatad/xcschemes/Pods.xcscheme +59 -0
 - data/vendor/Pods/Pods.xcodeproj/xcuserdata/holgersindbaek.xcuserdatad/xcschemes/xcschememanagement.plist +21 -0
 - data/vendor/Pods/Reachability/LICENCE.txt +24 -0
 - data/vendor/Pods/Reachability/README.md +65 -0
 - data/vendor/Pods/Reachability/Reachability.h +109 -0
 - data/vendor/Pods/Reachability/Reachability.m +527 -0
 - data/vendor/Pods/build-iPhoneSimulator/libPods.a +0 -0
 - metadata +175 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            !binary "U0hBMQ==":
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: !binary |-
         
     | 
| 
      
 4 
     | 
    
         
            +
                YzZlOGIwZTJkYmJkZTQzZDFjODI3MjIwMjBhOTZjOTMzYzI5NTEyMg==
         
     | 
| 
      
 5 
     | 
    
         
            +
              data.tar.gz: !binary |-
         
     | 
| 
      
 6 
     | 
    
         
            +
                YjllNGQ1YTg4YTRmOTNkN2VlZjQzNTQ3NmYzYTgxZGIyOThjZTMxMA==
         
     | 
| 
      
 7 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 8 
     | 
    
         
            +
              metadata.gz: !binary |-
         
     | 
| 
      
 9 
     | 
    
         
            +
                YmRkMzRlMGJjMTg4OWVkMDA5YmY4MzJhZGVjODg4NjY0OWQ5YWM0ZTg0YmVl
         
     | 
| 
      
 10 
     | 
    
         
            +
                ZDAwMTQ4NTY4YTliM2ZkNmE0MDRiNTNjNGY0NWE3OTA3N2U1OGIyODQ5N2Rm
         
     | 
| 
      
 11 
     | 
    
         
            +
                ZjI0ZWQyNjg5NmM1MDVlNmQyMWY5MzM3Yzg4YzZlODEzMWQ1Mzg=
         
     | 
| 
      
 12 
     | 
    
         
            +
              data.tar.gz: !binary |-
         
     | 
| 
      
 13 
     | 
    
         
            +
                MzM5MmQ1NmVhNDhlMDQ0YTU0Yjg0ZTUxNzRmMDNkNzRjY2I1NzVjZDdjMmIw
         
     | 
| 
      
 14 
     | 
    
         
            +
                YzlkOTc4ZDNmNTFmNzViY2QxYmRiMTA2NTVjNjQ2YmZiNDZhMWQ4OTdhM2Rk
         
     | 
| 
      
 15 
     | 
    
         
            +
                MTNiYjljOGZiNTk0ZjY3OTQ0YTkyMzNiMGMwMzkzNmVjZTUwZTQ=
         
     | 
    
        data/.gitignore
    ADDED
    
    
    
        data/Gemfile
    ADDED
    
    
    
        data/Gemfile.lock
    ADDED
    
    | 
         @@ -0,0 +1,51 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            GIT
         
     | 
| 
      
 2 
     | 
    
         
            +
              remote: https://github.com/holgersindbaek/sugarcube
         
     | 
| 
      
 3 
     | 
    
         
            +
              revision: 24c813f16f5799dd7ddffdf801d83a989270befa
         
     | 
| 
      
 4 
     | 
    
         
            +
              specs:
         
     | 
| 
      
 5 
     | 
    
         
            +
                sugarcube (1.3.4)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            GEM
         
     | 
| 
      
 8 
     | 
    
         
            +
              remote: https://rubygems.org/
         
     | 
| 
      
 9 
     | 
    
         
            +
              specs:
         
     | 
| 
      
 10 
     | 
    
         
            +
                awesome_print_motion (0.1.0)
         
     | 
| 
      
 11 
     | 
    
         
            +
                celluloid (0.15.2)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  timers (~> 1.1.0)
         
     | 
| 
      
 13 
     | 
    
         
            +
                coderay (1.0.9)
         
     | 
| 
      
 14 
     | 
    
         
            +
                ffi (1.9.3)
         
     | 
| 
      
 15 
     | 
    
         
            +
                formatador (0.2.4)
         
     | 
| 
      
 16 
     | 
    
         
            +
                guard (2.2.2)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  formatador (>= 0.2.4)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  listen (~> 2.1)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  lumberjack (~> 1.0)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  pry (>= 0.9.12)
         
     | 
| 
      
 21 
     | 
    
         
            +
                  thor (>= 0.18.1)
         
     | 
| 
      
 22 
     | 
    
         
            +
                guard-motion (0.1.2)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  guard (>= 1.1.0)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  rake (>= 0.9)
         
     | 
| 
      
 25 
     | 
    
         
            +
                listen (2.2.0)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  celluloid (>= 0.15.2)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  rb-fsevent (>= 0.9.3)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  rb-inotify (>= 0.9)
         
     | 
| 
      
 29 
     | 
    
         
            +
                lumberjack (1.0.4)
         
     | 
| 
      
 30 
     | 
    
         
            +
                method_source (0.8.2)
         
     | 
| 
      
 31 
     | 
    
         
            +
                pry (0.9.12.2)
         
     | 
| 
      
 32 
     | 
    
         
            +
                  coderay (~> 1.0.5)
         
     | 
| 
      
 33 
     | 
    
         
            +
                  method_source (~> 0.8)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  slop (~> 3.4)
         
     | 
| 
      
 35 
     | 
    
         
            +
                rake (10.1.0)
         
     | 
| 
      
 36 
     | 
    
         
            +
                rb-fsevent (0.9.3)
         
     | 
| 
      
 37 
     | 
    
         
            +
                rb-inotify (0.9.2)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  ffi (>= 0.5.0)
         
     | 
| 
      
 39 
     | 
    
         
            +
                slop (3.4.6)
         
     | 
| 
      
 40 
     | 
    
         
            +
                teacup (2.1.13)
         
     | 
| 
      
 41 
     | 
    
         
            +
                thor (0.18.1)
         
     | 
| 
      
 42 
     | 
    
         
            +
                timers (1.1.0)
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            PLATFORMS
         
     | 
| 
      
 45 
     | 
    
         
            +
              ruby
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            DEPENDENCIES
         
     | 
| 
      
 48 
     | 
    
         
            +
              awesome_print_motion
         
     | 
| 
      
 49 
     | 
    
         
            +
              guard-motion
         
     | 
| 
      
 50 
     | 
    
         
            +
              sugarcube!
         
     | 
| 
      
 51 
     | 
    
         
            +
              teacup (= 2.1.13)
         
     | 
    
        data/Guardfile
    ADDED
    
    | 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # A sample Guardfile
         
     | 
| 
      
 2 
     | 
    
         
            +
            # More info at https://github.com/guard/guard#readme
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            guard 'motion', :env => {:output => 'colored_spec_dox'}, :all_after_pass => false  do
         
     | 
| 
      
 5 
     | 
    
         
            +
              watch(%r{^spec/.+_spec\.rb$})
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              # RubyMotion App example
         
     | 
| 
      
 8 
     | 
    
         
            +
              watch(%r{^app/(.+)\.rb$})     { |m| "spec/#{m[1]}_spec.rb" }
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              # RubyMotion gem example
         
     | 
| 
      
 11 
     | 
    
         
            +
              watch(%r{^lib/[^/]+/(.+)\.rb$})     { |m| "spec/#{m[1]}_spec.rb" }
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,66 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # StatusBar
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ##Description
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            A utility class for displaying status updates in the iOS status bar. Inspired by Mailbox and designed to function similar to SVProgressHUD.
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            Add StatusBar to your Gemfile, and run `bundle install`:
         
     | 
| 
      
 10 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            gem 'status_bar'
         
     | 
| 
      
 13 
     | 
    
         
            +
            ```
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            If you're making an iOS 7 app, this is a good idea as well:
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            Motion::Project::App.setup do |app|
         
     | 
| 
      
 20 
     | 
    
         
            +
              # Setting the statusbarstyle to a light style in all the viewcontrollers
         
     | 
| 
      
 21 
     | 
    
         
            +
              app.info_plist['UIViewControllerBasedStatusBarAppearance'] = false
         
     | 
| 
      
 22 
     | 
    
         
            +
              app.info_plist['UIStatusBarStyle'] = "UIStatusBarStyleDefault"
         
     | 
| 
      
 23 
     | 
    
         
            +
            end
         
     | 
| 
      
 24 
     | 
    
         
            +
            ```
         
     | 
| 
      
 25 
     | 
    
         
            +
            ## Usage
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            ``` ruby
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            # Initilize the status bar
         
     | 
| 
      
 30 
     | 
    
         
            +
            statusbar = StatusBar::Base.new
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            # Show a notice... and hide it
         
     | 
| 
      
 33 
     | 
    
         
            +
            statusbar.show_notice("Hello World")
         
     | 
| 
      
 34 
     | 
    
         
            +
            statusbar.hide_notice
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            # Show notice with an indicator
         
     | 
| 
      
 37 
     | 
    
         
            +
            statusbar.show_activity_notice("Somethings is happening")
         
     | 
| 
      
 38 
     | 
    
         
            +
            statusbar.show_success_notice("Great success")
         
     | 
| 
      
 39 
     | 
    
         
            +
            statusbar.show_error_notice("Awww... did't work out")
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            # Check if the status bar is currently visible
         
     | 
| 
      
 42 
     | 
    
         
            +
            statusbar.visible?
         
     | 
| 
      
 43 
     | 
    
         
            +
            ```
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            ## Demo Project
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            There's a demo project in this gem. Clone it and play around with it.
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            ##Screenshots
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            
         
     | 
| 
      
 52 
     | 
    
         
            +
            
         
     | 
| 
      
 53 
     | 
    
         
            +
            
         
     | 
| 
      
 54 
     | 
    
         
            +
            
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            ## Contributing
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            1. Fork it
         
     | 
| 
      
 59 
     | 
    
         
            +
            2. Create your feature branch (`git checkout -b my-new-feature`)
         
     | 
| 
      
 60 
     | 
    
         
            +
            3. Commit your changes (`git commit -am 'Add some feature'`)
         
     | 
| 
      
 61 
     | 
    
         
            +
            4. Push to the branch (`git push origin my-new-feature`)
         
     | 
| 
      
 62 
     | 
    
         
            +
            5. Create new Pull Request
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            ## Thanks
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            * [Brian Partridge](https://github.com/brianpartridge) for [BPStatusBar](https://github.com/brianpartridge/BPStatusBar)
         
     | 
    
        data/Rakefile
    ADDED
    
    | 
         @@ -0,0 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # -*- coding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            $:.unshift("/Library/RubyMotion/lib")
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            require 'motion/project/template/ios'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            require 'awesome_print_motion'
         
     | 
| 
      
 7 
     | 
    
         
            +
            require 'guard/motion'
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'teacup'
         
     | 
| 
      
 9 
     | 
    
         
            +
            require 'sugarcube-repl'
         
     | 
| 
      
 10 
     | 
    
         
            +
            require 'sugarcube-uikit'
         
     | 
| 
      
 11 
     | 
    
         
            +
            require 'sugarcube-color'
         
     | 
| 
      
 12 
     | 
    
         
            +
            require 'sugarcube-uikit'
         
     | 
| 
      
 13 
     | 
    
         
            +
            require './lib/status_bar'
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            begin
         
     | 
| 
      
 16 
     | 
    
         
            +
              require 'bundler'
         
     | 
| 
      
 17 
     | 
    
         
            +
              require 'motion/project/template/gem/gem_tasks'
         
     | 
| 
      
 18 
     | 
    
         
            +
              Bundler.require
         
     | 
| 
      
 19 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 20 
     | 
    
         
            +
            end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            Motion::Project::App.setup do |app|
         
     | 
| 
      
 23 
     | 
    
         
            +
              # Use `rake config' to see complete project settings.
         
     | 
| 
      
 24 
     | 
    
         
            +
              app.name = 'status_bar'
         
     | 
| 
      
 25 
     | 
    
         
            +
              app.info_plist['UIStatusBarHidden'] = false
         
     | 
| 
      
 26 
     | 
    
         
            +
              app.info_plist['UIViewControllerBasedStatusBarAppearance'] =  false
         
     | 
| 
      
 27 
     | 
    
         
            +
              app.info_plist['UIStatusBarStyle'] =  'UIStatusBarStyleLightContent'
         
     | 
| 
      
 28 
     | 
    
         
            +
            end
         
     | 
    
        data/app/app_delegate.rb
    ADDED
    
    | 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class AppDelegate
         
     | 
| 
      
 2 
     | 
    
         
            +
              def application(application, didFinishLaunchingWithOptions:launchOptions)
         
     | 
| 
      
 3 
     | 
    
         
            +
                @window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
         
     | 
| 
      
 4 
     | 
    
         
            +
                @window.makeKeyAndVisible
         
     | 
| 
      
 5 
     | 
    
         
            +
                @window.backgroundColor = "#000000".uicolor
         
     | 
| 
      
 6 
     | 
    
         
            +
                @window.rootViewController = DemoController.new
         
     | 
| 
      
 7 
     | 
    
         
            +
                
         
     | 
| 
      
 8 
     | 
    
         
            +
                true
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,51 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class DemoController < UIViewController
         
     | 
| 
      
 2 
     | 
    
         
            +
              stylesheet :demo
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              layout :demo_view do
         
     | 
| 
      
 5 
     | 
    
         
            +
                @container = subview(UIView, :container) do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  @show_notice_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :show_notice_button)
         
     | 
| 
      
 7 
     | 
    
         
            +
                  @show_activity_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :show_activity_button)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @show_success_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :show_success_button)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  @show_error_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :show_error_button)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @hide_notice_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :hide_notice_button)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @visibility_button = subview(UIButton.buttonWithType(UIButtonTypeRoundedRect), :visibility_button)
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              def viewDidLoad
         
     | 
| 
      
 16 
     | 
    
         
            +
                super
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                ap "first viewDidLoad"
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                @status_bar = StatusBar::Base.new
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                @show_notice_button.when(UIControlEventTouchUpInside) {
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @status_bar.show_notice "This is a notice"
         
     | 
| 
      
 24 
     | 
    
         
            +
                }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                @show_activity_button.when(UIControlEventTouchUpInside) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                  @status_bar.show_activity_notice "Something's going on"
         
     | 
| 
      
 28 
     | 
    
         
            +
                }
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                @show_success_button.when(UIControlEventTouchUpInside) {
         
     | 
| 
      
 31 
     | 
    
         
            +
                  @status_bar.show_success_notice "Wohoo... made it!"
         
     | 
| 
      
 32 
     | 
    
         
            +
                }
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                @show_error_button.when(UIControlEventTouchUpInside) {
         
     | 
| 
      
 35 
     | 
    
         
            +
                  @status_bar.show_error_notice "Aww... no go"
         
     | 
| 
      
 36 
     | 
    
         
            +
                }
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                @hide_notice_button.when(UIControlEventTouchUpInside) {
         
     | 
| 
      
 39 
     | 
    
         
            +
                  @status_bar.hide_notice
         
     | 
| 
      
 40 
     | 
    
         
            +
                }
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                @visibility_button.when(UIControlEventTouchUpInside) {
         
     | 
| 
      
 43 
     | 
    
         
            +
                  ap @status_bar.visible?
         
     | 
| 
      
 44 
     | 
    
         
            +
                }
         
     | 
| 
      
 45 
     | 
    
         
            +
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
              def shouldAutorotate
         
     | 
| 
      
 48 
     | 
    
         
            +
                true
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,88 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Teacup::Stylesheet.new :demo do
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              style :demo_view,
         
     | 
| 
      
 4 
     | 
    
         
            +
                backgroundColor: "#000000".uicolor
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              style :container,
         
     | 
| 
      
 7 
     | 
    
         
            +
                top: 20,
         
     | 
| 
      
 8 
     | 
    
         
            +
                backgroundColor: "#ffffff".uicolor,
         
     | 
| 
      
 9 
     | 
    
         
            +
                portrait: {
         
     | 
| 
      
 10 
     | 
    
         
            +
                  width: "100%",
         
     | 
| 
      
 11 
     | 
    
         
            +
                  height: "100%-20"
         
     | 
| 
      
 12 
     | 
    
         
            +
                },
         
     | 
| 
      
 13 
     | 
    
         
            +
                landscape: {
         
     | 
| 
      
 14 
     | 
    
         
            +
                  width: "100%",
         
     | 
| 
      
 15 
     | 
    
         
            +
                  height: "100%-20"
         
     | 
| 
      
 16 
     | 
    
         
            +
                }
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              style UIButton,
         
     | 
| 
      
 19 
     | 
    
         
            +
                height: 40,
         
     | 
| 
      
 20 
     | 
    
         
            +
                left: 10,
         
     | 
| 
      
 21 
     | 
    
         
            +
                layer: {
         
     | 
| 
      
 22 
     | 
    
         
            +
                  borderWidth: 1,
         
     | 
| 
      
 23 
     | 
    
         
            +
                  borderColor: "#c8c7cc".uicolor.CGColor,
         
     | 
| 
      
 24 
     | 
    
         
            +
                  cornerRadius: 8
         
     | 
| 
      
 25 
     | 
    
         
            +
                },
         
     | 
| 
      
 26 
     | 
    
         
            +
                landscape: {
         
     | 
| 
      
 27 
     | 
    
         
            +
                  width: "50%-15"
         
     | 
| 
      
 28 
     | 
    
         
            +
                },
         
     | 
| 
      
 29 
     | 
    
         
            +
                portrait: {
         
     | 
| 
      
 30 
     | 
    
         
            +
                  width: "100%-20"
         
     | 
| 
      
 31 
     | 
    
         
            +
                }
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              style :show_notice_button,
         
     | 
| 
      
 34 
     | 
    
         
            +
                title: 'Show Notice',
         
     | 
| 
      
 35 
     | 
    
         
            +
                top: 10
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              style :show_activity_button,
         
     | 
| 
      
 38 
     | 
    
         
            +
                title: 'Show Activity',
         
     | 
| 
      
 39 
     | 
    
         
            +
                portrait: {
         
     | 
| 
      
 40 
     | 
    
         
            +
                  top: 60,
         
     | 
| 
      
 41 
     | 
    
         
            +
                  left: 10
         
     | 
| 
      
 42 
     | 
    
         
            +
                },
         
     | 
| 
      
 43 
     | 
    
         
            +
                landscape: { 
         
     | 
| 
      
 44 
     | 
    
         
            +
                  top: 10,
         
     | 
| 
      
 45 
     | 
    
         
            +
                  left: "50%+5"
         
     | 
| 
      
 46 
     | 
    
         
            +
                }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
              style :show_success_button,
         
     | 
| 
      
 49 
     | 
    
         
            +
                title: 'Show Success',
         
     | 
| 
      
 50 
     | 
    
         
            +
                portrait: {
         
     | 
| 
      
 51 
     | 
    
         
            +
                  top: 110,
         
     | 
| 
      
 52 
     | 
    
         
            +
                },
         
     | 
| 
      
 53 
     | 
    
         
            +
                landscape: { 
         
     | 
| 
      
 54 
     | 
    
         
            +
                  top: 60,
         
     | 
| 
      
 55 
     | 
    
         
            +
                }
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
              style :show_error_button,
         
     | 
| 
      
 58 
     | 
    
         
            +
                title: 'Show Error',
         
     | 
| 
      
 59 
     | 
    
         
            +
                portrait: {
         
     | 
| 
      
 60 
     | 
    
         
            +
                  top: 160,
         
     | 
| 
      
 61 
     | 
    
         
            +
                  left: 10
         
     | 
| 
      
 62 
     | 
    
         
            +
                },
         
     | 
| 
      
 63 
     | 
    
         
            +
                landscape: { 
         
     | 
| 
      
 64 
     | 
    
         
            +
                  top: 60,
         
     | 
| 
      
 65 
     | 
    
         
            +
                  left: "50%+5"
         
     | 
| 
      
 66 
     | 
    
         
            +
                }
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
              style :hide_notice_button,
         
     | 
| 
      
 69 
     | 
    
         
            +
                title: 'Hide Notice',
         
     | 
| 
      
 70 
     | 
    
         
            +
                portrait: {
         
     | 
| 
      
 71 
     | 
    
         
            +
                  top: 210,
         
     | 
| 
      
 72 
     | 
    
         
            +
                },
         
     | 
| 
      
 73 
     | 
    
         
            +
                landscape: { 
         
     | 
| 
      
 74 
     | 
    
         
            +
                  top: 110,
         
     | 
| 
      
 75 
     | 
    
         
            +
                }
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
              style :visibility_button,
         
     | 
| 
      
 78 
     | 
    
         
            +
                title: 'Visible?',
         
     | 
| 
      
 79 
     | 
    
         
            +
                portrait: {
         
     | 
| 
      
 80 
     | 
    
         
            +
                  top: 260,
         
     | 
| 
      
 81 
     | 
    
         
            +
                  left: 10
         
     | 
| 
      
 82 
     | 
    
         
            +
                },
         
     | 
| 
      
 83 
     | 
    
         
            +
                landscape: { 
         
     | 
| 
      
 84 
     | 
    
         
            +
                  top: 110,
         
     | 
| 
      
 85 
     | 
    
         
            +
                  left: "50%+5"
         
     | 
| 
      
 86 
     | 
    
         
            +
                }
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/project/base.rb
    ADDED
    
    | 
         @@ -0,0 +1,101 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module StatusBar
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Base
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
                def initialize
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                  @status_bar_view = StatusBar::View.new
         
     | 
| 
      
 7 
     | 
    
         
            +
                  App.shared.keyWindow.rootViewController.view.addSubview(@status_bar_view.view)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  App.shared.keyWindow.rootViewController.view.sendSubviewToBack(@status_bar_view.view)
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  # Set old orientation and rotation effect
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @current_notice_view = nil
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @timer = nil
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  # Listen for rotation
         
     | 
| 
      
 15 
     | 
    
         
            +
                  App.notification_center.observe UIDeviceOrientationDidChangeNotification do |notification|
         
     | 
| 
      
 16 
     | 
    
         
            +
                    UIView.animate do
         
     | 
| 
      
 17 
     | 
    
         
            +
                      position_inner_views(@current_notice_view) unless @current_notice_view == nil
         
     | 
| 
      
 18 
     | 
    
         
            +
                    end
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
                  
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                # EXTERNAL COMMANDS
         
     | 
| 
      
 26 
     | 
    
         
            +
                def show_notice(text)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  show_notice_view(@status_bar_view.notice_view, text:text)
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                def show_activity_notice(text)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  show_notice_view(@status_bar_view.activity_view, text:text)
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                def show_success_notice(text)
         
     | 
| 
      
 35 
     | 
    
         
            +
                  show_notice_view(@status_bar_view.success_view, text:text)
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                def show_error_notice(text)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  show_notice_view(@status_bar_view.error_view, text:text)
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                def hide_notice
         
     | 
| 
      
 43 
     | 
    
         
            +
                  hide_status_bar_view
         
     | 
| 
      
 44 
     | 
    
         
            +
                end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                def visible?
         
     | 
| 
      
 47 
     | 
    
         
            +
                  StatusBar::Helper.view_visible?(@status_bar_view.status_bar_view)
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                # INTERNAL COMMANDS
         
     | 
| 
      
 53 
     | 
    
         
            +
                def show_status_bar_view
         
     | 
| 
      
 54 
     | 
    
         
            +
                  if !visible?
         
     | 
| 
      
 55 
     | 
    
         
            +
                    App.shared.setStatusBarHidden(true, withAnimation:UIStatusBarAnimationSlide)
         
     | 
| 
      
 56 
     | 
    
         
            +
                    @status_bar_view.status_bar_view.move_to([0, 0])
         
     | 
| 
      
 57 
     | 
    
         
            +
                  end
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                def hide_status_bar_view
         
     | 
| 
      
 61 
     | 
    
         
            +
                  if visible?
         
     | 
| 
      
 62 
     | 
    
         
            +
                    @status_bar_view.status_bar_view.move_to([0, 20])
         
     | 
| 
      
 63 
     | 
    
         
            +
                    App.shared.setStatusBarHidden(false, withAnimation:UIStatusBarAnimationSlide)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  end
         
     | 
| 
      
 65 
     | 
    
         
            +
                end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                def show_notice_view(notice_view, text:text)
         
     | 
| 
      
 68 
     | 
    
         
            +
                  label = StatusBar::Helper.label(notice_view)
         
     | 
| 
      
 69 
     | 
    
         
            +
                  accessory = StatusBar::Helper.accessory(notice_view)
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                  EM.cancel_timer(@timer) unless @timer == nil
         
     | 
| 
      
 72 
     | 
    
         
            +
                  clear_notice_view(@current_notice_view) unless StatusBar::Helper.view_visible?(notice_view)
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                  label.text = text
         
     | 
| 
      
 75 
     | 
    
         
            +
                  notice_view.y = 0 if !visible?
         
     | 
| 
      
 76 
     | 
    
         
            +
                  notice_view.move_to([0, 0]) if visible?
         
     | 
| 
      
 77 
     | 
    
         
            +
                  position_inner_views(notice_view)
         
     | 
| 
      
 78 
     | 
    
         
            +
                  @timer = EM.add_timer 3 { hide_status_bar_view } unless accessory == nil
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                  show_status_bar_view unless visible?
         
     | 
| 
      
 81 
     | 
    
         
            +
                  @current_notice_view = notice_view
         
     | 
| 
      
 82 
     | 
    
         
            +
                end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                def clear_notice_view(view)
         
     | 
| 
      
 85 
     | 
    
         
            +
                  return if view == nil
         
     | 
| 
      
 86 
     | 
    
         
            +
                  view.move_to([0, -20]) { view.y = 20 } if visible?
         
     | 
| 
      
 87 
     | 
    
         
            +
                  view.y = 20 if !visible?
         
     | 
| 
      
 88 
     | 
    
         
            +
                end
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
                def position_inner_views(view)
         
     | 
| 
      
 91 
     | 
    
         
            +
                  label = StatusBar::Helper.label(view)
         
     | 
| 
      
 92 
     | 
    
         
            +
                  accessory = StatusBar::Helper.accessory(view)
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
                  return if accessory == nil
         
     | 
| 
      
 95 
     | 
    
         
            +
                  label.restyle!
         
     | 
| 
      
 96 
     | 
    
         
            +
                  label.x += 10
         
     | 
| 
      
 97 
     | 
    
         
            +
                  accessory.x = StatusBar::Helper.accessory_x(label.text)
         
     | 
| 
      
 98 
     | 
    
         
            +
                end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
              end
         
     | 
| 
      
 101 
     | 
    
         
            +
            end
         
     |