Remove more iOS sample code
I think this is generally obsoleted by sk_app? Bug: skia: Change-Id: Ie8e9dd1f11f2d2f97f0a21a7e79b37755e75cd44 Reviewed-on: https://skia-review.googlesource.com/74161 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
This commit is contained in:
parent
11adf3200d
commit
a7dfe41225
@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//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.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>SimpleApp</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,16 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Simple hello world app for skia on Mac OS (Cocoa)
|
||||
*/
|
||||
|
||||
#import "SkNSView.h"
|
||||
@interface SimpleNSView : SkNSView
|
||||
- (id)initWithDefaults;
|
||||
@end
|
@ -1,310 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#include "SkCanvas.h"
|
||||
#include "SkCGUtils.h"
|
||||
#include "SkGraphics.h"
|
||||
#include "SkImageDecoder.h"
|
||||
#include "SkOSFile.h"
|
||||
#include "SkPaint.h"
|
||||
#include "SkPicture.h"
|
||||
#include "SkStream.h"
|
||||
#include "SkWindow.h"
|
||||
|
||||
static void make_filepath(SkString* path, const char* dir, const SkString& name) {
|
||||
size_t len = strlen(dir);
|
||||
path->set(dir);
|
||||
if (len > 0 && dir[len - 1] != '/') {
|
||||
path->append("/");
|
||||
}
|
||||
path->append(name);
|
||||
}
|
||||
|
||||
static SkPicture* LoadPicture(const char path[]) {
|
||||
SkPicture* pic = NULL;
|
||||
|
||||
SkBitmap bm;
|
||||
if (SkImageDecoder::DecodeFile(path, &bm)) {
|
||||
bm.setImmutable();
|
||||
pic = new SkPicture;
|
||||
SkCanvas* can = pic->beginRecording(bm.width(), bm.height());
|
||||
can->drawBitmap(bm, 0, 0, NULL);
|
||||
pic->endRecording();
|
||||
} else {
|
||||
SkFILEStream stream(path);
|
||||
if (stream.isValid()) {
|
||||
pic = new SkPicture(&stream, NULL, &SkImageDecoder::DecodeStream);
|
||||
}
|
||||
|
||||
if (false) { // re-record
|
||||
SkPicture p2;
|
||||
pic->draw(p2.beginRecording(pic->width(), pic->height()));
|
||||
p2.endRecording();
|
||||
|
||||
SkString path2(path);
|
||||
path2.append(".new.skp");
|
||||
SkFILEWStream writer(path2.c_str());
|
||||
p2.serialize(&writer);
|
||||
}
|
||||
}
|
||||
return pic;
|
||||
}
|
||||
|
||||
class SkSampleView : public SkView {
|
||||
public:
|
||||
SkSampleView() {
|
||||
this->setVisibleP(true);
|
||||
this->setClipToBounds(false);
|
||||
};
|
||||
protected:
|
||||
virtual void onDraw(SkCanvas* canvas) {
|
||||
canvas->drawColor(0xFFFFFFFF);
|
||||
SkPaint p;
|
||||
p.setTextSize(20);
|
||||
p.setAntiAlias(true);
|
||||
canvas->drawText("Hello World!", 13, 50, 30, p);
|
||||
// SkRect r = {50, 50, 80, 80};
|
||||
p.setColor(0xAA11EEAA);
|
||||
// canvas->drawRect(r, p);
|
||||
|
||||
SkRect result;
|
||||
SkPath path;
|
||||
path.moveTo(0, 0);
|
||||
path.lineTo(1, 1);
|
||||
path.lineTo(1, 8);
|
||||
path.lineTo(0, 9);
|
||||
SkASSERT(path.hasRectangularInterior(&result));
|
||||
|
||||
path.reset();
|
||||
path.addRect(10, 10, 100, 100, SkPath::kCW_Direction);
|
||||
path.addRect(20, 20, 50, 50, SkPath::kCW_Direction);
|
||||
path.addRect(50, 50, 90, 90, SkPath::kCCW_Direction);
|
||||
p.setColor(0xAA335577);
|
||||
canvas->drawPath(path, p);
|
||||
SkASSERT(!path.hasRectangularInterior(NULL));
|
||||
path.reset();
|
||||
path.addRect(10, 10, 100, 100, SkPath::kCW_Direction);
|
||||
path.addRect(20, 20, 80, 80, SkPath::kCW_Direction);
|
||||
SkRect expected = {20, 20, 80, 80};
|
||||
SkASSERT(path.hasRectangularInterior(&result));
|
||||
SkASSERT(result == expected);
|
||||
|
||||
}
|
||||
private:
|
||||
typedef SkView INHERITED;
|
||||
};
|
||||
|
||||
void application_init();
|
||||
void application_term();
|
||||
|
||||
static int showPathContour(SkPath::Iter& iter) {
|
||||
uint8_t verb;
|
||||
SkPoint pts[4];
|
||||
int moves = 0;
|
||||
bool waitForClose = false;
|
||||
while ((verb = iter.next(pts)) != SkPath::kDone_Verb) {
|
||||
switch (verb) {
|
||||
case SkPath::kMove_Verb:
|
||||
if (!waitForClose) {
|
||||
++moves;
|
||||
waitForClose = true;
|
||||
}
|
||||
SkDebugf("path.moveTo(%1.9g, %1.9g);\n", pts[0].fX, pts[0].fY);
|
||||
break;
|
||||
case SkPath::kLine_Verb:
|
||||
SkDebugf("path.lineTo(%1.9g, %1.9g);\n", pts[1].fX, pts[1].fY);
|
||||
break;
|
||||
case SkPath::kQuad_Verb:
|
||||
SkDebugf("path.quadTo(%1.9g, %1.9g, %1.9g, %1.9g);\n",
|
||||
pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY);
|
||||
break;
|
||||
case SkPath::kCubic_Verb:
|
||||
SkDebugf("path.cubicTo(%1.9g, %1.9g, %1.9g, %1.9g, %1.9g, %1.9g);\n",
|
||||
pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY,
|
||||
pts[3].fX, pts[3].fY);
|
||||
break;
|
||||
case SkPath::kClose_Verb:
|
||||
waitForClose = false;
|
||||
SkDebugf("path.close();\n");
|
||||
break;
|
||||
default:
|
||||
SkDEBUGFAIL("bad verb");
|
||||
SkASSERT(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return moves;
|
||||
}
|
||||
|
||||
class PathCanvas : public SkCanvas {
|
||||
virtual void drawPath(const SkPath& path, const SkPaint& paint) {
|
||||
if (nameonly) {
|
||||
SkDebugf(" %s%d,\n", filename.c_str(), ++count);
|
||||
return;
|
||||
}
|
||||
SkPath::Iter iter(path, true);
|
||||
SkDebugf("<div id=\"%s%d\">\n", filename.c_str(), ++count);
|
||||
SkASSERT(path.getFillType() < SkPath::kInverseWinding_FillType);
|
||||
SkDebugf("path.setFillType(SkPath::k%s_FillType);\n",
|
||||
path.getFillType() == SkPath::kWinding_FillType ? "Winding" : "EvenOdd");
|
||||
int contours = showPathContour(iter);
|
||||
SkRect r;
|
||||
SkRect copy = r;
|
||||
bool hasOne = path.hasRectangularInterior(&r);
|
||||
bool expected = (path.getFillType() == SkPath::kWinding_FillType && contours == 1)
|
||||
|| (path.getFillType() == SkPath::kEvenOdd_FillType && contours == 2);
|
||||
if (!expected) {
|
||||
SkDebugf("suspect contours=%d\n", contours);
|
||||
}
|
||||
int verbs = path.countVerbs();
|
||||
int points = path.countPoints();
|
||||
if (hasOne) {
|
||||
if (rectVerbsMin > verbs) {
|
||||
rectVerbsMin = verbs;
|
||||
}
|
||||
if (rectVerbsMax < verbs) {
|
||||
rectVerbsMax = verbs;
|
||||
}
|
||||
if (rectPointsMin > points) {
|
||||
rectPointsMin = points;
|
||||
}
|
||||
if (rectPointsMax < points) {
|
||||
rectPointsMax = points;
|
||||
}
|
||||
SkDebugf("path.addRect(%1.9g, %1.9g, %1.9g, %1.9g);\n",
|
||||
r.fLeft, r.fTop, r.fRight, r.fBottom);
|
||||
} else {
|
||||
if (verbsMin > verbs) {
|
||||
verbsMin = verbs;
|
||||
}
|
||||
if (verbsMax < verbs) {
|
||||
verbsMax = verbs;
|
||||
}
|
||||
if (pointsMin > points) {
|
||||
pointsMin = points;
|
||||
}
|
||||
if (pointsMax < points) {
|
||||
pointsMax = points;
|
||||
}
|
||||
SkDebugf("no interior bounds\n");
|
||||
}
|
||||
path.hasRectangularInterior(©);
|
||||
SkDebugf("</div>\n\n");
|
||||
}
|
||||
|
||||
virtual void drawPosTextH(const void* text, size_t byteLength,
|
||||
const SkScalar xpos[], SkScalar constY,
|
||||
const SkPaint& paint) {
|
||||
}
|
||||
|
||||
public:
|
||||
void divName(const SkString& str, bool only) {
|
||||
filename = str;
|
||||
char* chars = filename.writable_str();
|
||||
while (*chars) {
|
||||
if (*chars == '.' || *chars == '-') *chars = '_';
|
||||
chars++;
|
||||
}
|
||||
count = 0;
|
||||
nameonly = only;
|
||||
}
|
||||
|
||||
void init() {
|
||||
pointsMin = verbsMin = SK_MaxS32;
|
||||
pointsMax = verbsMax = SK_MinS32;
|
||||
rectPointsMin = rectVerbsMin = SK_MaxS32;
|
||||
rectPointsMax = rectVerbsMax = SK_MinS32;
|
||||
}
|
||||
|
||||
SkString filename;
|
||||
int count;
|
||||
bool nameonly;
|
||||
int pointsMin;
|
||||
int pointsMax;
|
||||
int verbsMin;
|
||||
int verbsMax;
|
||||
int rectPointsMin;
|
||||
int rectPointsMax;
|
||||
int rectVerbsMin;
|
||||
int rectVerbsMax;
|
||||
};
|
||||
|
||||
bool runone = false;
|
||||
|
||||
void application_init() {
|
||||
SkGraphics::Init();
|
||||
SkEvent::Init();
|
||||
if (runone) {
|
||||
return;
|
||||
}
|
||||
const char pictDir[] = "/Volumes/chrome/nih/skia/skp/skp";
|
||||
SkOSFile::Iter iter(pictDir, "skp");
|
||||
SkString filename;
|
||||
PathCanvas canvas;
|
||||
canvas.init();
|
||||
while (iter.next(&filename)) {
|
||||
SkString path;
|
||||
// if (true) filename.set("tabl_www_sahadan_com.skp");
|
||||
make_filepath(&path, pictDir, filename);
|
||||
canvas.divName(filename, false);
|
||||
SkPicture* pic = LoadPicture(path.c_str());
|
||||
pic->draw(&canvas);
|
||||
delete pic;
|
||||
}
|
||||
SkDebugf("\n</div>\n\n");
|
||||
|
||||
SkDebugf("<script type=\"text/javascript\">\n\n");
|
||||
SkDebugf("var testDivs = [\n");
|
||||
|
||||
iter.reset(pictDir, "skp");
|
||||
while (iter.next(&filename)) {
|
||||
SkString path;
|
||||
make_filepath(&path, pictDir, filename);
|
||||
canvas.divName(filename, true);
|
||||
SkPicture* pic = LoadPicture(path.c_str());
|
||||
pic->draw(&canvas);
|
||||
delete pic;
|
||||
}
|
||||
SkDebugf("];\n\n");
|
||||
|
||||
SkDebugf("points min=%d max=%d verbs min=%d max=%d\n", canvas.pointsMin, canvas.pointsMax,
|
||||
canvas.verbsMin, canvas.verbsMax);
|
||||
SkDebugf("rect points min=%d max=%d verbs min=%d max=%d\n", canvas.rectPointsMin, canvas.rectPointsMax,
|
||||
canvas.rectVerbsMin, canvas.rectVerbsMax);
|
||||
|
||||
SkDebugf("\n");
|
||||
}
|
||||
|
||||
void application_term() {
|
||||
SkEvent::Term();
|
||||
}
|
||||
|
||||
class FillLayout : public SkView::Layout {
|
||||
protected:
|
||||
virtual void onLayoutChildren(SkView* parent) {
|
||||
SkView* view = SkView::F2BIter(parent).next();
|
||||
view->setSize(parent->width(), parent->height());
|
||||
}
|
||||
};
|
||||
|
||||
#import "SimpleApp.h"
|
||||
@implementation SimpleNSView
|
||||
|
||||
- (id)initWithDefaults {
|
||||
if ((self = [super initWithDefaults])) {
|
||||
fWind = new SkOSWindow(self);
|
||||
fWind->setLayout(new FillLayout, false);
|
||||
fWind->attachChildToFront(new SkSampleView)->unref();
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)drawRect:(NSRect)dirtyRect {
|
||||
CGContextRef ctx = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
|
||||
SkCGDrawBitmap(ctx, fWind->getBitmap(), 0, 0);
|
||||
}
|
||||
|
||||
@end
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SkUIView.h"
|
||||
|
||||
@interface SimpleApp : SkUIView
|
||||
- (id)initWithDefaults;
|
||||
@end
|
@ -1,78 +0,0 @@
|
||||
/*
|
||||
* Copyright 2015 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "SkApplication.h"
|
||||
#import "SkCanvas.h"
|
||||
#import "SkPaint.h"
|
||||
#import "SkWindow.h"
|
||||
#include "SkGraphics.h"
|
||||
#include "SkCGUtils.h"
|
||||
|
||||
void dummy_main(int , char *[]) {
|
||||
}
|
||||
|
||||
class SkSampleView : public SkView {
|
||||
public:
|
||||
SkSampleView() {
|
||||
this->setVisibleP(true);
|
||||
this->setClipToBounds(false);
|
||||
};
|
||||
protected:
|
||||
virtual void onDraw(SkCanvas* canvas) {
|
||||
canvas->drawColor(0xFFFFFFFF);
|
||||
SkPaint p;
|
||||
p.setTextSize(20);
|
||||
p.setAntiAlias(true);
|
||||
canvas->drawText("finished", 13, 50, 30, p);
|
||||
SkRect r = {50, 50, 80, 80};
|
||||
p.setColor(0xAA11EEAA);
|
||||
canvas->drawRect(r, p);
|
||||
}
|
||||
private:
|
||||
typedef SkView INHERITED;
|
||||
};
|
||||
|
||||
void application_init() {
|
||||
SkGraphics::Init();
|
||||
SkEvent::Init();
|
||||
}
|
||||
|
||||
void application_term() {
|
||||
SkEvent::Term();
|
||||
}
|
||||
|
||||
int saved_argc;
|
||||
char** saved_argv;
|
||||
|
||||
IOS_launch_type set_cmd_line_args(int argc, char *argv[], const char* ) {
|
||||
saved_argc = argc;
|
||||
saved_argv = argv;
|
||||
return kTool_iOSLaunchType;
|
||||
}
|
||||
|
||||
class FillLayout : public SkView::Layout {
|
||||
protected:
|
||||
virtual void onLayoutChildren(SkView* parent) {
|
||||
SkView* view = SkView::F2BIter(parent).next();
|
||||
view->setSize(parent->width(), parent->height());
|
||||
}
|
||||
};
|
||||
|
||||
#import "SimpleApp.h"
|
||||
@implementation SimpleApp
|
||||
|
||||
- (id)initWithDefaults {
|
||||
dummy_main(saved_argc, saved_argv);
|
||||
if (self = [super initWithDefaults]) {
|
||||
fWind = new SkOSWindow(self);
|
||||
fWind->setLayout(new FillLayout, false);
|
||||
fWind->attachChildToFront(new SkSampleView)->unref();
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//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>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</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>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainWindow_iPhone</string>
|
||||
<key>NSMainNibFile~ipad</key>
|
||||
<string>MainWindow_iPad</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
@ -1,8 +0,0 @@
|
||||
//
|
||||
// Prefix header for all source files of the 'iosshell' target in the 'iosshell' project
|
||||
//
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#endif
|
@ -1,17 +0,0 @@
|
||||
//
|
||||
// AppDelegate_iPad.h
|
||||
// iosshell
|
||||
//
|
||||
// Created by Yang Su on 6/30/11.
|
||||
// Copyright 2011 Google Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface AppDelegate_iPad : NSObject <UIApplicationDelegate> {
|
||||
UIWindow *window;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
||||
|
||||
@end
|
@ -1,67 +0,0 @@
|
||||
//
|
||||
// AppDelegate_iPad.m
|
||||
// iosshell
|
||||
//
|
||||
// Created by Yang Su on 6/30/11.
|
||||
// Copyright 2011 Google Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "AppDelegate_iPad.h"
|
||||
|
||||
@implementation AppDelegate_iPad
|
||||
|
||||
@synthesize window;
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Application lifecycle
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
|
||||
// Override point for customization after application launch.
|
||||
|
||||
[self.window makeKeyAndVisible];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application {
|
||||
/*
|
||||
Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
|
||||
Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||
/*
|
||||
Restart any tasks that were paused (or not yet started) while the application was inactive.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application {
|
||||
/*
|
||||
Called when the application is about to terminate.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Memory management
|
||||
|
||||
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
|
||||
/*
|
||||
Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[window release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
@ -1,439 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K540</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="606714003">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUIWindow" id="62075450">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIView" id="470150200">
|
||||
<reference key="NSNextResponder" ref="62075450"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{0, 10}, {768, 1004}}</string>
|
||||
<reference key="NSSuperview" ref="62075450"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{768, 1024}</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIResizesToFullScreen">YES</bool>
|
||||
</object>
|
||||
<object class="IBUICustomObject" id="250404236">
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="250404236"/>
|
||||
<reference key="destination" ref="62075450"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="250404236"/>
|
||||
</object>
|
||||
<int key="connectionID">8</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="606714003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="62075450"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="470150200"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="250404236"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="470150200"/>
|
||||
<reference key="parent" ref="62075450"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>10.CustomClassName</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>10.IBViewBoundsToFrameTransform</string>
|
||||
<string>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>6.CustomClassName</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>UIResponder</string>
|
||||
<string>SimpleApp</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAAAAAAAAxHqAAA</bytes>
|
||||
</object>
|
||||
<string>{{903, 55}, {768, 1024}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>AppDelegate_iPad</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">12</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">AppDelegate_iPad</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">window</string>
|
||||
<string key="NS.object.0">UIWindow</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">window</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">window</string>
|
||||
<string key="candidateClassName">UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">iPad/AppDelegate_iPad.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SimpleApp</string>
|
||||
<string key="superclassName">SkUIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">SimpleApp.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">fOptionsDelegate</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">fOptionsDelegate</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">fOptionsDelegate</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">../iOSSampleApp/Shared/SkUIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="786211723">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIApplication</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="786211723"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIWindow</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../SimpleiOSApp.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
@ -1,17 +0,0 @@
|
||||
//
|
||||
// AppDelegate_iPhone.h
|
||||
// iosshell
|
||||
//
|
||||
// Created by Yang Su on 6/30/11.
|
||||
// Copyright 2011 Google Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface AppDelegate_iPhone : NSObject <UIApplicationDelegate> {
|
||||
UIWindow *window;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
||||
|
||||
@end
|
@ -1,83 +0,0 @@
|
||||
//
|
||||
// AppDelegate_iPhone.m
|
||||
// iosshell
|
||||
//
|
||||
// Created by Yang Su on 6/30/11.
|
||||
// Copyright 2011 Google Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "AppDelegate_iPhone.h"
|
||||
|
||||
@implementation AppDelegate_iPhone
|
||||
|
||||
@synthesize window;
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Application lifecycle
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
|
||||
// Override point for customization after application launch.
|
||||
|
||||
[self.window makeKeyAndVisible];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application {
|
||||
/*
|
||||
Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
|
||||
Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application {
|
||||
/*
|
||||
Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
|
||||
If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationWillEnterForeground:(UIApplication *)application {
|
||||
/*
|
||||
Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||
/*
|
||||
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application {
|
||||
/*
|
||||
Called when the application is about to terminate.
|
||||
See also applicationDidEnterBackground:.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Memory management
|
||||
|
||||
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
|
||||
/*
|
||||
Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[window release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
@ -1,449 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K540</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="450319686">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUICustomObject" id="987256611">
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIWindow" id="380026005">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIView" id="268100401">
|
||||
<reference key="NSNextResponder" ref="380026005"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 10}, {320, 460}}</string>
|
||||
<reference key="NSSuperview" ref="380026005"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSPSMatrix" key="NSFrameMatrix"/>
|
||||
<string key="NSFrameSize">{320, 480}</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIResizesToFullScreen">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="987256611"/>
|
||||
</object>
|
||||
<int key="connectionID">5</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="987256611"/>
|
||||
<reference key="destination" ref="380026005"/>
|
||||
</object>
|
||||
<int key="connectionID">6</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="380026005"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="268100401"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="987256611"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">App Delegate</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="450319686"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">12</int>
|
||||
<reference key="object" ref="268100401"/>
|
||||
<reference key="parent" ref="380026005"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>12.CustomClassName</string>
|
||||
<string>12.IBPluginDependency</string>
|
||||
<string>12.IBViewBoundsToFrameTransform</string>
|
||||
<string>2.IBAttributePlaceholdersKey</string>
|
||||
<string>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>2.UIWindow.visibleAtLaunch</string>
|
||||
<string>4.CustomClassName</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>UIResponder</string>
|
||||
<string>SimpleApp</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABC6AAAxCbAAA</bytes>
|
||||
</object>
|
||||
<object class="NSMutableDictionary">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<string>{{520, 376}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<integer value="1"/>
|
||||
<string>AppDelegate_iPhone</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">12</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">AppDelegate_iPhone</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">window</string>
|
||||
<string key="NS.object.0">UIWindow</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">window</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">window</string>
|
||||
<string key="candidateClassName">UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">iPhone/AppDelegate_iPhone.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SimpleApp</string>
|
||||
<string key="superclassName">SkUIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">SimpleApp.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">fOptionsDelegate</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">fOptionsDelegate</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">fOptionsDelegate</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">../iOSSampleApp/Shared/SkUIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="565734826">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIApplication</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="565734826"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIWindow</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../SimpleiOSApp.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//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>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.google.${EXECUTABLE_NAME}</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>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainWindow_iPhone</string>
|
||||
<key>NSMainNibFile~ipad</key>
|
||||
<string>MainWindow_iPad</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
@ -1,16 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface SkOptionListController : UITableViewController {
|
||||
NSMutableArray* fOptions;
|
||||
NSInteger fSelectedIndex;
|
||||
UITableViewCell* fSelectedCell;
|
||||
UITableViewCell* fParentCell;
|
||||
}
|
||||
@property (nonatomic, retain) NSMutableArray* fOptions;
|
||||
@property (nonatomic, assign) NSInteger fSelectedIndex;
|
||||
@property (nonatomic, retain) UITableViewCell* fSelectedCell;
|
||||
@property (nonatomic, retain) UITableViewCell* fParentCell;
|
||||
|
||||
- (void)addOption:(NSString*)option;
|
||||
- (NSString*)getSelectedOption;
|
||||
@end
|
@ -1,85 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#import "SkOptionListController.h"
|
||||
|
||||
@implementation SkOptionListController
|
||||
|
||||
@synthesize fOptions, fSelectedIndex, fSelectedCell, fParentCell;
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Initialization
|
||||
|
||||
- (id)initWithStyle:(UITableViewStyle)style {
|
||||
self = [super initWithStyle:style];
|
||||
if (self) {
|
||||
self.fOptions = [[NSMutableArray alloc] init];
|
||||
self.fSelectedIndex = 0;
|
||||
self.fSelectedCell = nil;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)addOption:(NSString*)option {
|
||||
[fOptions addObject:option];
|
||||
}
|
||||
|
||||
- (NSString*)getSelectedOption {
|
||||
return (NSString*)[fOptions objectAtIndex:self.fSelectedIndex];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Table view data source
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return [fOptions count];
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
static NSString *CellIdentifier = @"Cell";
|
||||
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
|
||||
if (cell == nil) {
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
|
||||
}
|
||||
|
||||
cell.textLabel.text = [fOptions objectAtIndex:indexPath.row];
|
||||
if (indexPath.row == fSelectedIndex) {
|
||||
cell.accessoryType = UITableViewCellAccessoryCheckmark;
|
||||
self.fSelectedCell = cell;
|
||||
}
|
||||
else
|
||||
cell.accessoryType = UITableViewCellAccessoryNone;
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Table view delegate
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||
self.fSelectedCell.accessoryType = UITableViewCellAccessoryNone;
|
||||
self.fSelectedCell = cell;
|
||||
cell.accessoryType = UITableViewCellAccessoryCheckmark;
|
||||
self.fParentCell.detailTextLabel.text = cell.textLabel.text;;
|
||||
self.fSelectedIndex = indexPath.row;
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
self.fOptions = nil;
|
||||
self.fSelectedCell = nil;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
@ -1,42 +0,0 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SkOptionListController.h"
|
||||
#import "SkOSMenu.h"
|
||||
#import "SkEvent.h"
|
||||
#import "SkUIView.h"
|
||||
@interface SkOptionItem : NSObject {
|
||||
UITableViewCell* fCell;
|
||||
const SkOSMenu::Item* fItem;
|
||||
}
|
||||
@property (nonatomic, assign) const SkOSMenu::Item* fItem;
|
||||
@property (nonatomic, retain) UITableViewCell* fCell;
|
||||
|
||||
@end
|
||||
|
||||
@interface SkOptionListItem : SkOptionItem{
|
||||
SkOptionListController* fOptions;
|
||||
}
|
||||
@property (nonatomic, retain) SkOptionListController* fOptions;
|
||||
|
||||
@end
|
||||
|
||||
@interface SkOptionsTableViewController : UITableViewController <UINavigationControllerDelegate, SkUIViewOptionsDelegate> {
|
||||
NSMutableArray* fItems;
|
||||
const SkTDArray<SkOSMenu*>* fMenus;
|
||||
SkOptionListItem* fCurrentList;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) NSMutableArray* fItems;
|
||||
@property (nonatomic, retain) SkOptionListItem* fCurrentList;
|
||||
|
||||
- (void)registerMenus:(const SkTDArray<SkOSMenu*>*)menus;
|
||||
- (void)updateMenu:(SkOSMenu*)menu;
|
||||
- (void)loadMenu:(SkOSMenu*)menu;
|
||||
|
||||
- (UITableViewCell*)createAction:(NSString*)title;
|
||||
- (UITableViewCell*)createSlider:(NSString*)title min:(float)min max:(float)max default:(float)value;
|
||||
- (UITableViewCell*)createSwitch:(NSString*)title default:(BOOL)state;
|
||||
- (UITableViewCell*)createTriState:(NSString*)title default:(int)index;
|
||||
- (UITableViewCell*)createTextField:(NSString*)title default:(NSString*)value;
|
||||
- (UITableViewCell*)createList:(NSString*)title default:(NSString*)value;
|
||||
|
||||
@end
|
@ -1,347 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#import "SkOptionsTableViewController.h"
|
||||
#include "SkEvent.h"
|
||||
#include "SkTArray.h"
|
||||
|
||||
@implementation SkOptionItem
|
||||
@synthesize fCell, fItem;
|
||||
- (void)dealloc {
|
||||
[fCell release];
|
||||
[super dealloc];
|
||||
}
|
||||
@end
|
||||
|
||||
@implementation SkOptionListItem
|
||||
@synthesize fOptions;
|
||||
- (void)dealloc {
|
||||
[fOptions release];
|
||||
[super dealloc];
|
||||
}
|
||||
@end
|
||||
|
||||
@implementation SkOptionsTableViewController
|
||||
|
||||
@synthesize fItems, fCurrentList;
|
||||
|
||||
- (id)initWithStyle:(UITableViewStyle)style {
|
||||
self = [super initWithStyle:style];
|
||||
if (self) {
|
||||
self.fItems = [NSMutableArray array];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//SkUIViewOptionsDelegate
|
||||
- (void) view:(SkUIView*)view didAddMenu:(const SkOSMenu*)menu {}
|
||||
- (void) view:(SkUIView*)view didUpdateMenu:(SkOSMenu*)menu {
|
||||
[self updateMenu:menu];
|
||||
}
|
||||
|
||||
- (NSUInteger)convertPathToIndex:(NSIndexPath*)path {
|
||||
NSUInteger index = 0;
|
||||
for (NSInteger i = 0; i < path.section; ++i) {
|
||||
index += (*fMenus)[i]->getCount();
|
||||
}
|
||||
return index + path.row;
|
||||
}
|
||||
|
||||
- (void)registerMenus:(const SkTDArray<SkOSMenu*>*)menus {
|
||||
fMenus = menus;
|
||||
for (NSUInteger i = 0; i < fMenus->count(); ++i) {
|
||||
[self loadMenu:(*fMenus)[i]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)updateMenu:(SkOSMenu*)menu {
|
||||
// the first menu is always assumed to be the static, the second is
|
||||
// repopulated every time over and over again
|
||||
int menuIndex = fMenus->find(menu);
|
||||
if (menuIndex >= 0 && menuIndex < fMenus->count()) {
|
||||
NSUInteger first = 0;
|
||||
for (NSInteger i = 0; i < menuIndex; ++i) {
|
||||
first += (*fMenus)[i]->getCount();
|
||||
}
|
||||
[fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)];
|
||||
[self loadMenu:menu];
|
||||
}
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
- (void)loadMenu:(SkOSMenu*)menu {
|
||||
const SkOSMenu::Item* menuitems[menu->getCount()];
|
||||
menu->getItems(menuitems);
|
||||
for (int i = 0; i < menu->getCount(); ++i) {
|
||||
const SkOSMenu::Item* item = menuitems[i];
|
||||
NSString* title = [NSString stringWithUTF8String:item->getLabel()];
|
||||
|
||||
if (SkOSMenu::kList_Type == item->getType()) {
|
||||
int value = 0;
|
||||
SkOptionListItem* List = [[SkOptionListItem alloc] init];
|
||||
|
||||
List.fItem = item;
|
||||
List.fOptions = [[SkOptionListController alloc] initWithStyle:UITableViewStyleGrouped];
|
||||
|
||||
int count = 0;
|
||||
SkOSMenu::FindListItemCount(*item->getEvent(), &count);
|
||||
SkTArray<SkString> options;
|
||||
options.resize_back(count);
|
||||
SkOSMenu::FindListItems(*item->getEvent(), &options.front());
|
||||
for (int i = 0; i < count; ++i)
|
||||
[List.fOptions addOption:[NSString stringWithUTF8String:options[i].c_str()]];
|
||||
SkOSMenu::FindListIndex(*item->getEvent(), item->getSlotName(), &value);
|
||||
|
||||
List.fOptions.fSelectedIndex = value;
|
||||
List.fCell = [self createList:title
|
||||
default:[List.fOptions getSelectedOption]];
|
||||
List.fOptions.fParentCell = List.fCell;
|
||||
[fItems addObject:List];
|
||||
[List release];
|
||||
}
|
||||
else {
|
||||
SkOptionItem* option = [[SkOptionItem alloc] init];
|
||||
option.fItem = item;
|
||||
|
||||
bool state = false;
|
||||
SkString str;
|
||||
SkOSMenu::TriState tristate;
|
||||
switch (item->getType()) {
|
||||
case SkOSMenu::kAction_Type:
|
||||
option.fCell = [self createAction:title];
|
||||
break;
|
||||
case SkOSMenu::kSwitch_Type:
|
||||
SkOSMenu::FindSwitchState(*item->getEvent(), item->getSlotName(), &state);
|
||||
option.fCell = [self createSwitch:title default:(BOOL)state];
|
||||
break;
|
||||
case SkOSMenu::kSlider_Type:
|
||||
SkScalar min, max, value;
|
||||
SkOSMenu::FindSliderValue(*item->getEvent(), item->getSlotName(), &value);
|
||||
SkOSMenu::FindSliderMin(*item->getEvent(), &min);
|
||||
SkOSMenu::FindSliderMax(*item->getEvent(), &max);
|
||||
option.fCell = [self createSlider:title
|
||||
min:min
|
||||
max:max
|
||||
default:value];
|
||||
break;
|
||||
case SkOSMenu::kTriState_Type:
|
||||
SkOSMenu::FindTriState(*item->getEvent(), item->getSlotName(), &tristate);
|
||||
option.fCell = [self createTriState:title default:(int)tristate];
|
||||
break;
|
||||
case SkOSMenu::kTextField_Type:
|
||||
SkOSMenu::FindText(*item->getEvent(), item->getSlotName(), &str);
|
||||
option.fCell = [self createTextField:title
|
||||
default:[NSString stringWithUTF8String:str.c_str()]];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
[fItems addObject:option];
|
||||
[option release];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)valueChanged:(id)sender {
|
||||
UITableViewCell* cell = (UITableViewCell*)(((UIView*)sender).superview);
|
||||
NSUInteger index = [self convertPathToIndex:[self.tableView indexPathForCell:cell]];
|
||||
SkOptionItem* item = (SkOptionItem*)[fItems objectAtIndex:index];
|
||||
if ([sender isKindOfClass:[UISlider class]]) {//Slider
|
||||
UISlider* slider = (UISlider *)sender;
|
||||
cell.detailTextLabel.text = [NSString stringWithFormat:@"%1.1f", slider.value];
|
||||
item.fItem->setScalar(slider.value);
|
||||
}
|
||||
else if ([sender isKindOfClass:[UISwitch class]]) {//Switch
|
||||
UISwitch* switch_ = (UISwitch *)sender;
|
||||
item.fItem->setBool(switch_.on);
|
||||
}
|
||||
else if ([sender isKindOfClass:[UITextField class]]) { //TextField
|
||||
UITextField* textField = (UITextField *)sender;
|
||||
[textField resignFirstResponder];
|
||||
item.fItem->setString([textField.text UTF8String]);
|
||||
}
|
||||
else if ([sender isKindOfClass:[UISegmentedControl class]]) { //Action
|
||||
UISegmentedControl* segmented = (UISegmentedControl *)sender;
|
||||
SkOSMenu::TriState state;
|
||||
if (2 == segmented.selectedSegmentIndex) {
|
||||
state = SkOSMenu::kMixedState;
|
||||
} else {
|
||||
state = (SkOSMenu::TriState)segmented.selectedSegmentIndex;
|
||||
}
|
||||
item.fItem->setTriState(state);
|
||||
}
|
||||
else{
|
||||
NSLog(@"unknown");
|
||||
}
|
||||
item.fItem->postEvent();
|
||||
}
|
||||
|
||||
- (UITableViewCell*)createAction:(NSString*)title {
|
||||
UITableViewCell* cell = [[[UITableViewCell alloc]
|
||||
initWithStyle:UITableViewCellStyleValue1
|
||||
reuseIdentifier:nil] autorelease];
|
||||
cell.textLabel.text = title;
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (UITableViewCell*)createSwitch:(NSString*)title default:(BOOL)state {
|
||||
UITableViewCell* cell = [[[UITableViewCell alloc]
|
||||
initWithStyle:UITableViewCellStyleValue1
|
||||
reuseIdentifier:nil] autorelease];
|
||||
cell.textLabel.text = title;
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
UISwitch* switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
|
||||
[switchView setOn:state animated:NO];
|
||||
[switchView addTarget:self
|
||||
action:@selector(valueChanged:)
|
||||
forControlEvents:UIControlEventValueChanged];
|
||||
cell.accessoryView = switchView;
|
||||
[switchView release];
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (UITableViewCell*)createSlider:(NSString*)title
|
||||
min:(float)min
|
||||
max:(float)max
|
||||
default:(float)value {
|
||||
UITableViewCell* cell = [[[UITableViewCell alloc]
|
||||
initWithStyle:UITableViewCellStyleValue1
|
||||
reuseIdentifier:nil] autorelease];
|
||||
cell.textLabel.text = title;
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
UISlider* sliderView = [[UISlider alloc] init];
|
||||
sliderView.value = value;
|
||||
sliderView.minimumValue = min;
|
||||
sliderView.maximumValue = max;
|
||||
[sliderView addTarget:self
|
||||
action:@selector(valueChanged:)
|
||||
forControlEvents:UIControlEventValueChanged];
|
||||
cell.detailTextLabel.text = [NSString stringWithFormat:@"%1.1f", value];
|
||||
cell.accessoryView = sliderView;
|
||||
[sliderView release];
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (UITableViewCell*)createTriState:(NSString*)title default:(int)index {
|
||||
UITableViewCell* cell = [[[UITableViewCell alloc]
|
||||
initWithStyle:UITableViewCellStyleValue1
|
||||
reuseIdentifier:nil] autorelease];
|
||||
cell.textLabel.text = title;
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
NSArray* items = [NSArray arrayWithObjects:@"Off", @"On", @"Mixed", nil];
|
||||
UISegmentedControl* segmented = [[UISegmentedControl alloc] initWithItems:items];
|
||||
segmented.selectedSegmentIndex = (index == -1) ? 2 : index;
|
||||
segmented.segmentedControlStyle = UISegmentedControlStyleBar;
|
||||
[segmented addTarget:self
|
||||
action:@selector(valueChanged:)
|
||||
forControlEvents:UIControlEventValueChanged];
|
||||
cell.accessoryView = segmented;
|
||||
[segmented release];
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (UITableViewCell*)createTextField:(NSString*)title
|
||||
default:(NSString*)value {
|
||||
UITableViewCell* cell = [[[UITableViewCell alloc]
|
||||
initWithStyle:UITableViewCellStyleValue1
|
||||
reuseIdentifier:nil] autorelease];
|
||||
cell.textLabel.text = title;
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
UITextField* textField = [[UITextField alloc]
|
||||
initWithFrame:CGRectMake(0, 10, 150, 25)];
|
||||
textField.adjustsFontSizeToFitWidth = YES;
|
||||
textField.textAlignment = NSTextAlignmentRight;
|
||||
textField.textColor = cell.detailTextLabel.textColor;
|
||||
textField.placeholder = value;
|
||||
textField.returnKeyType = UIReturnKeyDone;
|
||||
[textField addTarget:self
|
||||
action:@selector(valueChanged:)
|
||||
forControlEvents:UIControlEventEditingDidEndOnExit];
|
||||
cell.accessoryView = textField;
|
||||
[textField release];
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (UITableViewCell*)createList:(NSString*)title default:(NSString*)value{
|
||||
UITableViewCell* cell = [[[UITableViewCell alloc]
|
||||
initWithStyle:UITableViewCellStyleValue1
|
||||
reuseIdentifier:nil] autorelease];
|
||||
cell.textLabel.text = title;
|
||||
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
|
||||
cell.detailTextLabel.text = value;
|
||||
return cell;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Table view data source
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return fMenus->count();
|
||||
}
|
||||
|
||||
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
|
||||
return [NSString stringWithUTF8String:(*fMenus)[section]->getTitle()];
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return (*fMenus)[section]->getCount();
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return ((SkOptionItem*)[fItems objectAtIndex:[self convertPathToIndex:indexPath]]).fCell;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Table view delegate
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||
id item = [fItems objectAtIndex:[self convertPathToIndex:indexPath]];
|
||||
|
||||
if ([item isKindOfClass:[SkOptionListItem class]]) {
|
||||
SkOptionListItem* list = (SkOptionListItem*)item;
|
||||
self.fCurrentList = list;
|
||||
self.navigationController.delegate = self;
|
||||
[self.navigationController pushViewController:list.fOptions animated:YES];
|
||||
}
|
||||
else if ([item isKindOfClass:[SkOptionItem class]]) {
|
||||
if (UITableViewCellSelectionStyleNone != cell.selectionStyle) { //Actions
|
||||
SkOptionItem* action = (SkOptionItem*)item;
|
||||
action.fItem->postEvent();
|
||||
}
|
||||
}
|
||||
else{
|
||||
NSLog(@"unknown");
|
||||
}
|
||||
|
||||
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Navigation controller delegate
|
||||
|
||||
- (void)navigationController:(UINavigationController *)navigationController
|
||||
willShowViewController:(UIViewController *)viewController
|
||||
animated:(BOOL)animated {
|
||||
if (self == viewController) { //when a List option is popped, trigger event
|
||||
NSString* selectedOption = [fCurrentList.fOptions getSelectedOption];
|
||||
fCurrentList.fCell.detailTextLabel.text = selectedOption;
|
||||
fCurrentList.fItem->setInt(fCurrentList.fOptions.fSelectedIndex);
|
||||
fCurrentList.fItem->postEvent();
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Memory management
|
||||
|
||||
- (void)dealloc {
|
||||
self.fItems = nil;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -1,42 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SkOptionsTableViewController.h"
|
||||
#import "SkUIRootViewController.h"
|
||||
#import "SkUIView.h"
|
||||
|
||||
class SampleWindow;
|
||||
class SkData;
|
||||
@interface SkUIDetailViewController : UIViewController {
|
||||
UIPopoverController* fPopOverController;
|
||||
SkOptionsTableViewController* fOptionsController;
|
||||
UIBarButtonItem* fPrintButton;
|
||||
UIBarButtonItem* fOptionsButton;
|
||||
SkData* fData;
|
||||
SkUIView* fSkUIView;
|
||||
SampleWindow* fWind;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) UIBarButtonItem* fPrintButton;
|
||||
@property (nonatomic, retain) UIBarButtonItem* fOptionsButton;
|
||||
@property (nonatomic, retain) SkOptionsTableViewController* fOptionsController;
|
||||
@property (nonatomic, assign) UIPopoverController* fPopOverController;
|
||||
|
||||
//Instance methods
|
||||
- (void)populateRoot:(SkUIRootViewController*)root;
|
||||
- (void)goToItem:(NSUInteger)index;
|
||||
- (void)createButtons;
|
||||
//UI actions
|
||||
- (void)printContent;
|
||||
- (void)presentOptions;
|
||||
|
||||
//SplitView popover management
|
||||
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
|
||||
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
|
||||
|
||||
@end
|
@ -1,186 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#import "SkUIDetailViewController.h"
|
||||
#include "SampleApp.h"
|
||||
#include "SkCGUtils.h"
|
||||
#include "SkData.h"
|
||||
#include "SkOSMenu.h"
|
||||
@implementation SkUIDetailViewController
|
||||
@synthesize fPrintButton, fOptionsButton, fPopOverController, fOptionsController;
|
||||
|
||||
//Overwritten from UIViewController
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
fSkUIView = (SkUIView*)self.view;
|
||||
|
||||
fWind = (SampleWindow*)fSkUIView.fWind;
|
||||
fSkUIView.fTitleItem = self.navigationItem;
|
||||
|
||||
[self createButtons];
|
||||
|
||||
UISwipeGestureRecognizer* swipe = [[UISwipeGestureRecognizer alloc]
|
||||
initWithTarget:self
|
||||
action:@selector(handleSwipe:)];
|
||||
[self.navigationController.navigationBar addGestureRecognizer:swipe];
|
||||
[swipe release];
|
||||
swipe = [[UISwipeGestureRecognizer alloc]
|
||||
initWithTarget:self
|
||||
action:@selector(handleSwipe:)];
|
||||
swipe.direction = UISwipeGestureRecognizerDirectionLeft;
|
||||
[self.navigationController.navigationBar addGestureRecognizer:swipe];
|
||||
[swipe release];
|
||||
|
||||
fOptionsController = [[SkOptionsTableViewController alloc]
|
||||
initWithStyle:UITableViewStyleGrouped];
|
||||
fSkUIView.fOptionsDelegate = fOptionsController;
|
||||
[fOptionsController registerMenus:fWind->getMenus()];
|
||||
|
||||
}
|
||||
|
||||
- (void)createButtons {
|
||||
UIToolbar* toolbar = [[UIToolbar alloc]
|
||||
initWithFrame:CGRectMake(0, 0, 125, 45)];
|
||||
[toolbar setBarStyle: UIBarStyleBlackOpaque];
|
||||
|
||||
UIBarButtonItem* flexibleSpace = [[UIBarButtonItem alloc]
|
||||
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
|
||||
target:nil
|
||||
action:nil];
|
||||
|
||||
fOptionsButton = [[UIBarButtonItem alloc]
|
||||
initWithTitle:@"Options"
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:self
|
||||
action:@selector(presentOptions)];
|
||||
UIBarButtonItem* fixedSpace = [[UIBarButtonItem alloc]
|
||||
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
|
||||
target:nil
|
||||
action:nil];
|
||||
fixedSpace.width = 10;
|
||||
|
||||
fPrintButton = [[UIBarButtonItem alloc]
|
||||
initWithBarButtonSystemItem:UIBarButtonSystemItemAction
|
||||
target:self
|
||||
action:@selector(printContent)];
|
||||
fPrintButton.style = UIBarButtonItemStylePlain;
|
||||
|
||||
[toolbar setItems:[NSArray arrayWithObjects:flexibleSpace, fOptionsButton, fixedSpace, fPrintButton, nil]
|
||||
animated:NO];
|
||||
|
||||
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
|
||||
initWithCustomView:toolbar];
|
||||
[flexibleSpace release];
|
||||
[fixedSpace release];
|
||||
[toolbar release];
|
||||
}
|
||||
|
||||
- (void)handleSwipe:(UISwipeGestureRecognizer *)sender {
|
||||
if (UISwipeGestureRecognizerDirectionRight == sender.direction)
|
||||
fWind->previousSample();
|
||||
else
|
||||
fWind->nextSample();
|
||||
}
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
return YES; // Overriden to allow auto rotation for any direction
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[fPrintButton release];
|
||||
[fOptionsButton release];
|
||||
[fPopOverController release];
|
||||
[fOptionsController release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
//Instance Methods
|
||||
- (void)populateRoot:(SkUIRootViewController*)rootVC {
|
||||
for (int i = 0; i < fWind->sampleCount(); ++i) {
|
||||
[rootVC addItem:[NSString stringWithUTF8String:fWind->getSampleTitle(i).c_str()]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)goToItem:(NSUInteger)index {
|
||||
fWind->goToSample(index);
|
||||
}
|
||||
|
||||
- (void)printContent {
|
||||
/* comment out until we rev. this to use SkDocument
|
||||
|
||||
UIPrintInteractionController *controller = [UIPrintInteractionController sharedPrintController];
|
||||
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
|
||||
printInfo.jobName = @"Skia iOS SampleApp";
|
||||
printInfo.duplex = UIPrintInfoDuplexLongEdge;
|
||||
printInfo.outputType = UIPrintInfoOutputGeneral;
|
||||
fWind->saveToPdf();
|
||||
[fSkUIView forceRedraw];
|
||||
fData = fWind->getPDFData();
|
||||
NSData* data = [NSData dataWithBytesNoCopy:(void*)fData->data() length:fData->size()];
|
||||
controller.printInfo = printInfo;
|
||||
controller.printingItem = data;
|
||||
//Add ref because data pointer retains a pointer to data
|
||||
fData->ref();
|
||||
|
||||
void (^SkCompletionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
|
||||
^(UIPrintInteractionController *pic, BOOL completed, NSError *error) {
|
||||
fData->unref();
|
||||
if (!completed && error)
|
||||
NSLog(@"FAILED! due to error in domain %@ with error code %u",
|
||||
error.domain, error.code);
|
||||
};
|
||||
|
||||
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
|
||||
[controller presentFromBarButtonItem:fPrintButton animated:YES
|
||||
completionHandler:SkCompletionHandler];
|
||||
} else {
|
||||
[controller presentAnimated:YES completionHandler:SkCompletionHandler];
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
- (void)presentOptions {
|
||||
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
|
||||
if (nil == fPopOverController) {
|
||||
UINavigationController* navigation = [[UINavigationController alloc]
|
||||
initWithRootViewController:fOptionsController];
|
||||
navigation.navigationBar.topItem.title = @"Options";
|
||||
fPopOverController = [[UIPopoverController alloc] initWithContentViewController:navigation];
|
||||
[navigation release];
|
||||
}
|
||||
|
||||
if (fPopOverController.isPopoverVisible)
|
||||
[fPopOverController dismissPopoverAnimated:YES];
|
||||
else
|
||||
[fPopOverController presentPopoverFromBarButtonItem:fOptionsButton
|
||||
permittedArrowDirections:UIPopoverArrowDirectionAny
|
||||
animated:YES];
|
||||
|
||||
} else {
|
||||
UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
|
||||
style:UIBarButtonItemStyleBordered
|
||||
target:nil
|
||||
action:nil];
|
||||
self.navigationItem.backBarButtonItem = backButton;
|
||||
[backButton release];
|
||||
[self.navigationController pushViewController:fOptionsController animated:YES];
|
||||
self.navigationController.navigationBar.topItem.title = @"Options";
|
||||
}
|
||||
}
|
||||
|
||||
//Popover Management
|
||||
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem {
|
||||
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:NO];
|
||||
}
|
||||
|
||||
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem {
|
||||
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -1,21 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface SkUIRootViewController : UITableViewController <UITableViewDataSource> {
|
||||
@private
|
||||
UIPopoverController *popoverController;
|
||||
UIBarButtonItem *popoverButtonItem;
|
||||
NSMutableArray* fSamples;
|
||||
}
|
||||
@property (nonatomic, retain) UIPopoverController *popoverController;
|
||||
@property (nonatomic, retain) UIBarButtonItem *popoverButtonItem;
|
||||
|
||||
- (void)addItem:(NSString*)anItem;
|
||||
|
||||
@end
|
@ -1,61 +0,0 @@
|
||||
#import "SkUIRootViewController.h"
|
||||
#import "SkUISplitViewController.h"
|
||||
@implementation SkUIRootViewController
|
||||
@synthesize popoverController, popoverButtonItem;
|
||||
|
||||
//Overwritten from UIViewController
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.contentSizeForViewInPopover = CGSizeMake(200, self.view.bounds.size.height);
|
||||
fSamples = [[NSMutableArray alloc] init];
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
self.popoverButtonItem = nil;
|
||||
}
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[popoverController release];
|
||||
[popoverButtonItem release];
|
||||
[fSamples release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
//Table View Delegate Methods
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
// Return the number of sections.
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
// Return the number of rows in the section.
|
||||
return [fSamples count];
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
static NSString *CellIdentifier = @"Cell";
|
||||
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
|
||||
if (cell == nil) {
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
|
||||
reuseIdentifier:CellIdentifier] autorelease];
|
||||
}
|
||||
|
||||
cell.textLabel.text = [fSamples objectAtIndex:indexPath.row];
|
||||
return cell;
|
||||
}
|
||||
|
||||
//Instance methods
|
||||
- (void)addItem:(NSString*)anItem {
|
||||
[fSamples addObject:anItem];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <OpenGLES/EAGL.h>
|
||||
#import <OpenGLES/ES1/gl.h>
|
||||
#import <OpenGLES/ES1/glext.h>
|
||||
#import <OpenGLES/ES2/gl.h>
|
||||
#import <OpenGLES/ES2/glext.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#include "SkOSWindow_ios.h"
|
||||
|
||||
class SkEvent;
|
||||
@class SkUIView;
|
||||
|
||||
@protocol SkUIViewOptionsDelegate <NSObject>
|
||||
@optional
|
||||
// Called when the view needs to handle adding an SkOSMenu
|
||||
- (void) view:(SkUIView*)view didAddMenu:(const SkOSMenu*)menu;
|
||||
- (void) view:(SkUIView*)view didUpdateMenu:(const SkOSMenu*)menu;
|
||||
@end
|
||||
|
||||
@interface SkUIView : UIView {
|
||||
UINavigationItem* fTitleItem;
|
||||
SkOSWindow* fWind;
|
||||
id<SkUIViewOptionsDelegate> fOptionsDelegate;
|
||||
}
|
||||
|
||||
@property (nonatomic, readonly) SkOSWindow *fWind;
|
||||
@property (nonatomic, retain) UINavigationItem* fTitleItem;
|
||||
@property (nonatomic, assign) id<SkUIViewOptionsDelegate> fOptionsDelegate;
|
||||
|
||||
- (id)initWithDefaults;
|
||||
- (void)setUpWindow;
|
||||
- (void)forceRedraw;
|
||||
- (void)drawInRaster;
|
||||
|
||||
- (void)setSkTitle:(const char*)title;
|
||||
- (void)onAddMenu:(const SkOSMenu*)menu;
|
||||
- (void)onUpdateMenu:(const SkOSMenu*)menu;
|
||||
- (void)postInvalWithRect:(const SkIRect*)rectOrNil;
|
||||
- (BOOL)onHandleEvent:(const SkEvent&)event;
|
||||
- (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info;
|
||||
|
||||
@end
|
@ -1,120 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import "SkUIView.h"
|
||||
#include "SkCanvas.h"
|
||||
#include "SkCGUtils.h"
|
||||
@implementation SkUIView
|
||||
|
||||
@synthesize fWind, fTitleItem, fOptionsDelegate;
|
||||
|
||||
- (id)initWithDefaults {
|
||||
fWind = NULL;
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(NSCoder*)coder {
|
||||
if ((self = [super initWithCoder:coder])) {
|
||||
self = [self initWithDefaults];
|
||||
[self setUpWindow];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame {
|
||||
if (self = [super initWithFrame:frame]) {
|
||||
self = [self initWithDefaults];
|
||||
[self setUpWindow];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)setUpWindow {
|
||||
if (NULL != fWind) {
|
||||
fWind->setVisibleP(true);
|
||||
fWind->resize(self.frame.size.width, self.frame.size.height);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
delete fWind;
|
||||
[fTitleItem release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)forceRedraw {
|
||||
[self drawInRaster];
|
||||
}
|
||||
|
||||
- (void)drawInRaster {
|
||||
SkCanvas canvas(fWind->getBitmap());
|
||||
fWind->draw(&canvas);
|
||||
CGImageRef cgimage = SkCreateCGImageRef(fWind->getBitmap());
|
||||
self.layer.contents = (id)cgimage;
|
||||
CGImageRelease(cgimage);
|
||||
}
|
||||
|
||||
//Gesture Handlers
|
||||
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
for (UITouch *touch in touches) {
|
||||
CGPoint loc = [touch locationInView:self];
|
||||
fWind->handleClick(loc.x, loc.y, SkView::Click::kDown_State, touch);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
for (UITouch *touch in touches) {
|
||||
CGPoint loc = [touch locationInView:self];
|
||||
fWind->handleClick(loc.x, loc.y, SkView::Click::kMoved_State, touch);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
for (UITouch *touch in touches) {
|
||||
CGPoint loc = [touch locationInView:self];
|
||||
fWind->handleClick(loc.x, loc.y, SkView::Click::kUp_State, touch);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
for (UITouch *touch in touches) {
|
||||
CGPoint loc = [touch locationInView:self];
|
||||
fWind->handleClick(loc.x, loc.y, SkView::Click::kUp_State, touch);
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
- (void)setSkTitle:(const char *)title {
|
||||
if (fTitleItem) {
|
||||
fTitleItem.title = [NSString stringWithUTF8String:title];
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL)onHandleEvent:(const SkEvent&)evt {
|
||||
return false;
|
||||
}
|
||||
|
||||
- (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info {
|
||||
// we don't have a GL context.
|
||||
info->fSampleCount = 0;
|
||||
info->fStencilBits = 0;
|
||||
}
|
||||
|
||||
#include "SkOSMenu.h"
|
||||
- (void)onAddMenu:(const SkOSMenu*)menu {
|
||||
[self.fOptionsDelegate view:self didAddMenu:menu];
|
||||
}
|
||||
- (void)onUpdateMenu:(const SkOSMenu*)menu {
|
||||
[self.fOptionsDelegate view:self didUpdateMenu:menu];
|
||||
}
|
||||
|
||||
- (void)postInvalWithRect:(const SkIRect*)r {
|
||||
[self performSelector:@selector(drawInRaster) withObject:nil afterDelay:0];
|
||||
[self setNeedsDisplay];
|
||||
}
|
||||
|
||||
@end
|
@ -1,34 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#include "SkApplication.h"
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
||||
application_init();
|
||||
|
||||
// Identify the documents directory
|
||||
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString *docsDir = [dirPaths objectAtIndex:0];
|
||||
NSString *resourceDir = [docsDir stringByAppendingString:@"/resources"];
|
||||
const char *d = [resourceDir UTF8String];
|
||||
|
||||
// change to the dcouments directory. To allow the 'writePath' flag to use relative paths.
|
||||
NSFileManager *filemgr = [NSFileManager defaultManager];
|
||||
int retVal = 99;
|
||||
if ([filemgr changeCurrentDirectoryPath: docsDir] == YES)
|
||||
{
|
||||
IOS_launch_type launchType = set_cmd_line_args(argc, argv, d);
|
||||
retVal = launchType == kApplication__iOSLaunchType
|
||||
? UIApplicationMain(argc, argv, nil, nil) : (int) launchType;
|
||||
}
|
||||
application_term();
|
||||
[filemgr release];
|
||||
[pool release];
|
||||
return retVal;
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "SampleApp.h"
|
||||
#import "SkUIView.h"
|
||||
|
||||
class SkiOSDeviceManager;
|
||||
class SkOSWindow;
|
||||
class SkEvent;
|
||||
struct FPSState;
|
||||
|
||||
@interface SkSampleUIView : SkUIView {
|
||||
BOOL fRedrawRequestPending;
|
||||
|
||||
struct {
|
||||
EAGLContext* fContext;
|
||||
GLuint fRenderbuffer;
|
||||
GLuint fStencilbuffer;
|
||||
GLuint fFramebuffer;
|
||||
GLint fWidth;
|
||||
GLint fHeight;
|
||||
} fGL;
|
||||
|
||||
NSString* fTitle;
|
||||
CALayer* fRasterLayer;
|
||||
CAEAGLLayer* fGLLayer;
|
||||
|
||||
FPSState* fFPSState;
|
||||
SkiOSDeviceManager* fDevManager;
|
||||
}
|
||||
|
||||
@property (nonatomic, copy) NSString* fTitle;
|
||||
@property (nonatomic, retain) CALayer* fRasterLayer;
|
||||
@property (nonatomic, retain) CAEAGLLayer* fGLLayer;
|
||||
|
||||
- (id)initWithDefaults;
|
||||
- (void)drawInRaster;
|
||||
- (void)forceRedraw;
|
||||
|
||||
- (void)setSkTitle:(const char*)title;
|
||||
- (void)postInvalWithRect:(const SkIRect*)rectOrNil;
|
||||
- (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info;
|
||||
|
||||
@end
|
@ -1,498 +0,0 @@
|
||||
/*
|
||||
* Copyright 2015 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#import "SkSampleUIView.h"
|
||||
|
||||
//#define SKGL_CONFIG kEAGLColorFormatRGB565
|
||||
#define SKGL_CONFIG kEAGLColorFormatRGBA8
|
||||
|
||||
#define FORCE_REDRAW
|
||||
|
||||
#include "SkCanvas.h"
|
||||
#include "SkCGUtils.h"
|
||||
#include "SkSurface.h"
|
||||
#include "SampleApp.h"
|
||||
|
||||
#if SK_SUPPORT_GPU
|
||||
//#define USE_GL_1
|
||||
#define USE_GL_2
|
||||
|
||||
#include "gl/GrGLInterface.h"
|
||||
#include "GrContext.h"
|
||||
#include "SkGpuDevice.h"
|
||||
#endif
|
||||
|
||||
class SkiOSDeviceManager : public SampleWindow::DeviceManager {
|
||||
public:
|
||||
SkiOSDeviceManager(GLint layerFBO) {
|
||||
#if SK_SUPPORT_GPU
|
||||
fCurContext = NULL;
|
||||
fCurIntf = NULL;
|
||||
fMSAASampleCount = 0;
|
||||
fDeepColor = false;
|
||||
fActualColorBits = 0;
|
||||
#endif
|
||||
fBackend = SkOSWindow::kNone_BackEndType;
|
||||
}
|
||||
|
||||
virtual ~SkiOSDeviceManager() {
|
||||
#if SK_SUPPORT_GPU
|
||||
SkSafeUnref(fCurContext);
|
||||
SkSafeUnref(fCurIntf);
|
||||
#endif
|
||||
}
|
||||
|
||||
void setUpBackend(SampleWindow* win, int msaaSampleCount, bool deepColor) override {
|
||||
SkASSERT(SkOSWindow::kNone_BackEndType == fBackend);
|
||||
|
||||
fBackend = SkOSWindow::kNone_BackEndType;
|
||||
|
||||
#if SK_SUPPORT_GPU
|
||||
switch (win->getDeviceType()) {
|
||||
case SampleWindow::kRaster_DeviceType:
|
||||
break;
|
||||
// these guys use the native backend
|
||||
case SampleWindow::kGPU_DeviceType:
|
||||
fBackend = SkOSWindow::kNativeGL_BackEndType;
|
||||
break;
|
||||
default:
|
||||
SkASSERT(false);
|
||||
break;
|
||||
}
|
||||
SkOSWindow::AttachmentInfo info;
|
||||
bool result = win->attach(fBackend, msaaSampleCount, false, &info);
|
||||
if (!result) {
|
||||
SkDebugf("Failed to initialize GL");
|
||||
return;
|
||||
}
|
||||
fMSAASampleCount = msaaSampleCount;
|
||||
fDeepColor = deepColor;
|
||||
// Assume that we have at least 24-bit output, for backends that don't supply this data
|
||||
fActualColorBits = SkTMax(info.fColorBits, 24);
|
||||
|
||||
SkASSERT(NULL == fCurIntf);
|
||||
switch (win->getDeviceType()) {
|
||||
case SampleWindow::kRaster_DeviceType:
|
||||
fCurIntf = NULL;
|
||||
break;
|
||||
case SampleWindow::kGPU_DeviceType:
|
||||
fCurIntf = GrGLCreateNativeInterface();
|
||||
break;
|
||||
default:
|
||||
SkASSERT(false);
|
||||
break;
|
||||
}
|
||||
|
||||
SkASSERT(NULL == fCurContext);
|
||||
if (SkOSWindow::kNone_BackEndType != fBackend) {
|
||||
fCurContext = GrContext::MakeGL(fCurIntf).release();
|
||||
}
|
||||
|
||||
if ((NULL == fCurContext || NULL == fCurIntf) &&
|
||||
SkOSWindow::kNone_BackEndType != fBackend) {
|
||||
// We need some context and interface to see results if we're using a GL backend
|
||||
SkSafeUnref(fCurContext);
|
||||
SkSafeUnref(fCurIntf);
|
||||
SkDebugf("Failed to setup 3D");
|
||||
win->release();
|
||||
}
|
||||
#endif // SK_SUPPORT_GPU
|
||||
// call windowSizeChanged to create the render target
|
||||
this->windowSizeChanged(win);
|
||||
}
|
||||
|
||||
void tearDownBackend(SampleWindow *win) override {
|
||||
#if SK_SUPPORT_GPU
|
||||
SkSafeUnref(fCurContext);
|
||||
fCurContext = NULL;
|
||||
|
||||
SkSafeUnref(fCurIntf);
|
||||
fCurIntf = NULL;
|
||||
|
||||
fGpuSurface = nullptr;
|
||||
#endif
|
||||
win->release();
|
||||
fBackend = SampleWindow::kNone_BackEndType;
|
||||
}
|
||||
|
||||
sk_sp<SkSurface> makeSurface(SampleWindow::DeviceType dType, SampleWindow* win) override {
|
||||
#if SK_SUPPORT_GPU
|
||||
if (SampleWindow::IsGpuDeviceType(dType) && fCurContext) {
|
||||
SkSurfaceProps props(win->getSurfaceProps());
|
||||
if (kRGBA_F16_SkColorType == win->info().colorType() || fActualColorBits > 24) {
|
||||
// If we're rendering to F16, we need an off-screen surface - the current render
|
||||
// target is most likely the wrong format.
|
||||
//
|
||||
// If we're using a deep (10-bit or higher) surface, we probably need an off-screen
|
||||
// surface. 10-bit, in particular, has strange gamma behavior.
|
||||
return SkSurface::MakeRenderTarget(fCurContext, SkBudgeted::kNo, win->info(),
|
||||
fMSAASampleCount, &props);
|
||||
} else {
|
||||
return fGpuSurface;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
virtual void publishCanvas(SampleWindow::DeviceType dType,
|
||||
SkCanvas* canvas,
|
||||
SampleWindow* win) override {
|
||||
#if SK_SUPPORT_GPU
|
||||
if (NULL != fCurContext) {
|
||||
fCurContext->flush();
|
||||
}
|
||||
#endif
|
||||
win->present();
|
||||
}
|
||||
|
||||
void windowSizeChanged(SampleWindow* win) override {
|
||||
#if SK_SUPPORT_GPU
|
||||
if (fCurContext) {
|
||||
SampleWindow::AttachmentInfo attachmentInfo;
|
||||
win->attach(fBackend, fMSAASampleCount, fDeepColor, &attachmentInfo);
|
||||
fActualColorBits = SkTMax(attachmentInfo.fColorBits, 24);
|
||||
fGpuSurface = win->makeGpuBackedSurface(attachmentInfo, fCurIntf, fCurContext);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
GrContext* getGrContext() override {
|
||||
#if SK_SUPPORT_GPU
|
||||
return fCurContext;
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
int numColorSamples() const override {
|
||||
#if SK_SUPPORT_GPU
|
||||
return fMSAASampleCount;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
int getColorBits() override {
|
||||
#if SK_SUPPORT_GPU
|
||||
return fActualColorBits;
|
||||
#else
|
||||
return 24;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool isUsingGL() const { return SkOSWindow::kNone_BackEndType != fBackend; }
|
||||
|
||||
private:
|
||||
|
||||
#if SK_SUPPORT_GPU
|
||||
GrContext* fCurContext;
|
||||
const GrGLInterface* fCurIntf;
|
||||
sk_sp<SkSurface> fGpuSurface;
|
||||
int fMSAASampleCount;
|
||||
bool fDeepColor;
|
||||
int fActualColorBits;
|
||||
#endif
|
||||
|
||||
SkOSWindow::SkBackEndTypes fBackend;
|
||||
|
||||
typedef SampleWindow::DeviceManager INHERITED;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@implementation SkSampleUIView
|
||||
|
||||
@synthesize fTitle, fRasterLayer, fGLLayer;
|
||||
|
||||
#include "SkApplication.h"
|
||||
#include "SkEvent.h"
|
||||
#include "SkWindow.h"
|
||||
|
||||
struct FPSState {
|
||||
static const int FRAME_COUNT = 60;
|
||||
|
||||
CFTimeInterval fNow0, fNow1;
|
||||
CFTimeInterval fTime0, fTime1, fTotalTime;
|
||||
int fFrameCounter;
|
||||
SkString str;
|
||||
FPSState() {
|
||||
fTime0 = fTime1 = fTotalTime = 0;
|
||||
fFrameCounter = 0;
|
||||
}
|
||||
|
||||
void startDraw() {
|
||||
fNow0 = CACurrentMediaTime();
|
||||
}
|
||||
|
||||
void endDraw() {
|
||||
fNow1 = CACurrentMediaTime();
|
||||
}
|
||||
|
||||
void flush(SkOSWindow* hwnd) {
|
||||
CFTimeInterval now2 = CACurrentMediaTime();
|
||||
|
||||
fTime0 += fNow1 - fNow0;
|
||||
fTime1 += now2 - fNow1;
|
||||
|
||||
if (++fFrameCounter == FRAME_COUNT) {
|
||||
CFTimeInterval totalNow = CACurrentMediaTime();
|
||||
fTotalTime = totalNow - fTotalTime;
|
||||
|
||||
//SkMSec ms0 = (int)(1000 * fTime0 / FRAME_COUNT);
|
||||
//SkMSec msTotal = (int)(1000 * fTotalTime / FRAME_COUNT);
|
||||
//str.printf(" ms: %d [%d], fps: %3.1f", msTotal, ms0,
|
||||
// FRAME_COUNT / fTotalTime);
|
||||
str.printf(" fps:%3.1f", FRAME_COUNT / fTotalTime);
|
||||
hwnd->setTitle(NULL);
|
||||
fTotalTime = totalNow;
|
||||
fTime0 = fTime1 = 0;
|
||||
fFrameCounter = 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
static FPSState gFPS;
|
||||
|
||||
#define FPS_StartDraw() gFPS.startDraw()
|
||||
#define FPS_EndDraw() gFPS.endDraw()
|
||||
#define FPS_Flush(wind) gFPS.flush(wind)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
- (id)initWithDefaults {
|
||||
if (self = [super initWithDefaults]) {
|
||||
fRedrawRequestPending = false;
|
||||
fFPSState = new FPSState;
|
||||
|
||||
#ifdef USE_GL_1
|
||||
fGL.fContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
|
||||
#else
|
||||
fGL.fContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
|
||||
#endif
|
||||
|
||||
if (!fGL.fContext || ![EAGLContext setCurrentContext:fGL.fContext])
|
||||
{
|
||||
[self release];
|
||||
return nil;
|
||||
}
|
||||
|
||||
// Create default framebuffer object. The backing will be allocated for the current layer in -resizeFromLayer
|
||||
glGenFramebuffers(1, &fGL.fFramebuffer);
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, fGL.fFramebuffer);
|
||||
|
||||
glGenRenderbuffers(1, &fGL.fRenderbuffer);
|
||||
glGenRenderbuffers(1, &fGL.fStencilbuffer);
|
||||
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer);
|
||||
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, fGL.fRenderbuffer);
|
||||
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, fGL.fStencilbuffer);
|
||||
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, fGL.fStencilbuffer);
|
||||
|
||||
self.fGLLayer = [CAEAGLLayer layer];
|
||||
fGLLayer.bounds = self.bounds;
|
||||
fGLLayer.anchorPoint = CGPointMake(0, 0);
|
||||
fGLLayer.opaque = TRUE;
|
||||
[self.layer addSublayer:fGLLayer];
|
||||
fGLLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
[NSNumber numberWithBool:NO],
|
||||
kEAGLDrawablePropertyRetainedBacking,
|
||||
SKGL_CONFIG,
|
||||
kEAGLDrawablePropertyColorFormat,
|
||||
nil];
|
||||
|
||||
self.fRasterLayer = [CALayer layer];
|
||||
fRasterLayer.anchorPoint = CGPointMake(0, 0);
|
||||
fRasterLayer.opaque = TRUE;
|
||||
[self.layer addSublayer:fRasterLayer];
|
||||
|
||||
NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"onOrderIn",
|
||||
[NSNull null], @"onOrderOut",
|
||||
[NSNull null], @"sublayers",
|
||||
[NSNull null], @"contents",
|
||||
[NSNull null], @"bounds",
|
||||
nil];
|
||||
fGLLayer.actions = newActions;
|
||||
fRasterLayer.actions = newActions;
|
||||
[newActions release];
|
||||
|
||||
// rebuild argc and argv from process info
|
||||
NSArray* arguments = [[NSProcessInfo processInfo] arguments];
|
||||
int argc = [arguments count];
|
||||
char** argv = new char*[argc];
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
NSString* arg = [arguments objectAtIndex:i];
|
||||
int strlen = [arg lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
|
||||
argv[i] = new char[strlen+1];
|
||||
[arg getCString:argv[i] maxLength:strlen+1 encoding:NSUTF8StringEncoding];
|
||||
}
|
||||
|
||||
fDevManager = new SkiOSDeviceManager(fGL.fFramebuffer);
|
||||
fWind = new SampleWindow(self, argc, argv, fDevManager);
|
||||
|
||||
fWind->resize(self.frame.size.width, self.frame.size.height);
|
||||
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
delete [] argv[i];
|
||||
}
|
||||
delete [] argv;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
delete fDevManager;
|
||||
delete fFPSState;
|
||||
self.fRasterLayer = nil;
|
||||
self.fGLLayer = nil;
|
||||
[fGL.fContext release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)layoutSubviews {
|
||||
int W, H;
|
||||
|
||||
// Allocate color buffer backing based on the current layer size
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer);
|
||||
[fGL.fContext renderbufferStorage:GL_RENDERBUFFER fromDrawable:fGLLayer];
|
||||
|
||||
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &fGL.fWidth);
|
||||
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &fGL.fHeight);
|
||||
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, fGL.fStencilbuffer);
|
||||
glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, fGL.fWidth, fGL.fHeight);
|
||||
|
||||
if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
|
||||
NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatus(GL_FRAMEBUFFER));
|
||||
}
|
||||
|
||||
if (fDevManager->isUsingGL()) {
|
||||
W = fGL.fWidth;
|
||||
H = fGL.fHeight;
|
||||
CGRect rect = CGRectMake(0, 0, W, H);
|
||||
fGLLayer.bounds = rect;
|
||||
}
|
||||
else {
|
||||
CGRect rect = self.bounds;
|
||||
W = (int)CGRectGetWidth(rect);
|
||||
H = (int)CGRectGetHeight(rect);
|
||||
fRasterLayer.bounds = rect;
|
||||
}
|
||||
|
||||
printf("---- layoutSubviews %d %d\n", W, H);
|
||||
fWind->resize(W, H);
|
||||
fWind->inval(NULL);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
- (void)drawWithCanvas:(SkCanvas*)canvas {
|
||||
fRedrawRequestPending = false;
|
||||
fFPSState->startDraw();
|
||||
fWind->draw(canvas);
|
||||
fFPSState->endDraw();
|
||||
#ifdef FORCE_REDRAW
|
||||
fWind->inval(NULL);
|
||||
#endif
|
||||
fFPSState->flush(fWind);
|
||||
}
|
||||
|
||||
- (void)drawInGL {
|
||||
// This application only creates a single context which is already set current at this point.
|
||||
// This call is redundant, but needed if dealing with multiple contexts.
|
||||
[EAGLContext setCurrentContext:fGL.fContext];
|
||||
|
||||
// This application only creates a single default framebuffer which is already bound at this point.
|
||||
// This call is redundant, but needed if dealing with multiple framebuffers.
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, fGL.fFramebuffer);
|
||||
|
||||
GLint scissorEnable;
|
||||
glGetIntegerv(GL_SCISSOR_TEST, &scissorEnable);
|
||||
glDisable(GL_SCISSOR_TEST);
|
||||
glClearColor(0,0,0,0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
if (scissorEnable) {
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
}
|
||||
glViewport(0, 0, fGL.fWidth, fGL.fHeight);
|
||||
|
||||
|
||||
sk_sp<SkSurface> surface(fWind->makeSurface());
|
||||
SkCanvas* canvas = surface->getCanvas();
|
||||
|
||||
// if we're not "retained", then we have to always redraw everything.
|
||||
// This call forces us to ignore the fDirtyRgn, and draw everywhere.
|
||||
// If we are "retained", we can skip this call (as the raster case does)
|
||||
fWind->forceInvalAll();
|
||||
|
||||
[self drawWithCanvas:canvas];
|
||||
|
||||
// This application only creates a single color renderbuffer which is already bound at this point.
|
||||
// This call is redundant, but needed if dealing with multiple renderbuffers.
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer);
|
||||
[fGL.fContext presentRenderbuffer:GL_RENDERBUFFER];
|
||||
}
|
||||
|
||||
- (void)drawInRaster {
|
||||
sk_sp<SkSurface> surface(fWind->makeSurface());
|
||||
SkCanvas* canvas = surface->getCanvas();
|
||||
[self drawWithCanvas:canvas];
|
||||
CGImageRef cgimage = SkCreateCGImageRef(fWind->getBitmap());
|
||||
fRasterLayer.contents = (id)cgimage;
|
||||
CGImageRelease(cgimage);
|
||||
}
|
||||
|
||||
- (void)forceRedraw {
|
||||
if (fDevManager->isUsingGL())
|
||||
[self drawInGL];
|
||||
else
|
||||
[self drawInRaster];
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
- (void)setSkTitle:(const char *)title {
|
||||
NSString* text = [NSString stringWithUTF8String:title];
|
||||
if ([text length] > 0)
|
||||
self.fTitle = text;
|
||||
|
||||
if (fTitleItem && fTitle) {
|
||||
fTitleItem.title = [NSString stringWithFormat:@"%@%@", fTitle,
|
||||
[NSString stringWithUTF8String:fFPSState->str.c_str()]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)postInvalWithRect:(const SkIRect*)r {
|
||||
if (!fRedrawRequestPending) {
|
||||
fRedrawRequestPending = true;
|
||||
bool gl = fDevManager->isUsingGL();
|
||||
[CATransaction begin];
|
||||
[CATransaction setAnimationDuration:0];
|
||||
fRasterLayer.hidden = gl;
|
||||
fGLLayer.hidden = !gl;
|
||||
[CATransaction commit];
|
||||
if (gl) {
|
||||
[self performSelector:@selector(drawInGL) withObject:nil afterDelay:0];
|
||||
}
|
||||
else {
|
||||
[self performSelector:@selector(drawInRaster) withObject:nil afterDelay:0];
|
||||
[self setNeedsDisplay];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info {
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer);
|
||||
glGetRenderbufferParameteriv(GL_RENDERBUFFER,
|
||||
GL_RENDERBUFFER_STENCIL_SIZE,
|
||||
&info->fStencilBits);
|
||||
glGetRenderbufferParameteriv(GL_RENDERBUFFER,
|
||||
GL_RENDERBUFFER_SAMPLES_APPLE,
|
||||
&info->fSampleCount);
|
||||
}
|
||||
|
||||
@end
|
@ -1,17 +0,0 @@
|
||||
//
|
||||
// SkiOSSampleApp-Base.xcconfig
|
||||
// iOSSampleApp
|
||||
//
|
||||
// Created by Yang Su on 6/30/11.
|
||||
// Copyright 2011 Google Inc.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
ARCHS=armv6 armv7
|
||||
IPHONEOS_DEPLOYMENT_TARGET=4.2
|
||||
SDKROOT=iphoneos
|
||||
TARGETED_DEVICE_FAMILY=1,2
|
||||
|
||||
USER_HEADER_SEARCH_PATHS=../../gpu/include/** ../../include/**
|
||||
CODE_SIGN_IDENTITY=iPhone Developer
|
||||
|
@ -1,13 +0,0 @@
|
||||
//
|
||||
// SkiOSSampleApp.xcconfig
|
||||
// iOSSampleApp
|
||||
//
|
||||
// Created by Yang Su on 6/30/11.
|
||||
// Copyright 2011 Google Inc.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
#include "SkiOSSampleApp-Base"
|
||||
|
||||
GCC_PREPROCESSOR_DEFINITIONS=SK_DEBUG SK_BUILD_FOR_IOS SK_BUILD_NO_OPTS
|
||||
GCC_OPTIMIZATION_LEVEL=0
|
@ -1,12 +0,0 @@
|
||||
//
|
||||
// SkiOSSampleApp-Release.xcconfig
|
||||
// iOSSampleApp
|
||||
//
|
||||
// Created by Yang Su on 6/30/11.
|
||||
// Copyright 2011 Google Inc.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
#include "SkiOSSampleApp-Base"
|
||||
GCC_PREPROCESSOR_DEFINITIONS=SK_RELEASE SK_BUILD_FOR_IOS SK_BUILD_NO_OPTS
|
||||
GCC_OPTIMIZATION_LEVEL=s
|
@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//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>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.google.SkiaSampleApp</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>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainWindow_iPhone</string>
|
||||
<key>NSMainNibFile~ipad</key>
|
||||
<string>MainWindow_iPad</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
@ -1,8 +0,0 @@
|
||||
//
|
||||
// Prefix header for all source files of the 'iOSShell' target in the 'iOSShell' project
|
||||
//
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#endif
|
@ -1,19 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SkUISplitViewController.h"
|
||||
|
||||
@interface AppDelegate_iPad : NSObject <UIApplicationDelegate> {
|
||||
@private;
|
||||
UIWindow* window;
|
||||
SkUISplitViewController* splitViewController;
|
||||
}
|
||||
@property (nonatomic, retain) IBOutlet UIWindow* window;
|
||||
@property (nonatomic, retain) IBOutlet SkUISplitViewController* splitViewController;
|
||||
|
||||
@end
|
@ -1,22 +0,0 @@
|
||||
#import "AppDelegate_iPad.h"
|
||||
|
||||
@implementation AppDelegate_iPad
|
||||
|
||||
@synthesize window, splitViewController;
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
[window addSubview:[splitViewController view]];
|
||||
[window makeKeyAndVisible];
|
||||
|
||||
self.window.rootViewController = splitViewController;
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[window release];
|
||||
[splitViewController release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
@ -1,565 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1296</int>
|
||||
<string key="IBDocument.SystemVersion">12B19</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
|
||||
<string key="IBDocument.AppKitVersion">1187</string>
|
||||
<string key="IBDocument.HIToolboxVersion">624.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">1498</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>IBProxyObject</string>
|
||||
<string>IBUICustomObject</string>
|
||||
<string>IBUINavigationBar</string>
|
||||
<string>IBUINavigationController</string>
|
||||
<string>IBUINavigationItem</string>
|
||||
<string>IBUISplitViewController</string>
|
||||
<string>IBUITableView</string>
|
||||
<string>IBUITableViewController</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBUIViewController</string>
|
||||
<string>IBUIWindow</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="606714003">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUICustomObject" id="250404236">
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUIWindow" id="62075450">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{768, 1024}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIResizesToFullScreen">YES</bool>
|
||||
</object>
|
||||
<object class="IBUISplitViewController" id="143532475">
|
||||
<object class="NSArray" key="IBUIToolbarItems" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="IBUIInterfaceOrientation">1</int>
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
<object class="IBUINavigationController" key="IBUIMasterViewController" id="524408385">
|
||||
<reference key="IBUIParentViewController" ref="143532475"/>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="IBUIInterfaceOrientation">1</int>
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
<object class="IBUINavigationBar" key="IBUINavigationBar" id="593802069">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{0, 0}</string>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIBarStyle">1</int>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUITableViewController" id="714382558">
|
||||
<object class="IBUITableView" key="IBUIView" id="805122470">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{320, 960}</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="933040628">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<int key="IBUISeparatorStyle">1</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">44</float>
|
||||
<float key="IBUISectionHeaderHeight">22</float>
|
||||
<float key="IBUISectionFooterHeight">22</float>
|
||||
</object>
|
||||
<object class="IBUINavigationItem" key="IBUINavigationItem" id="136024681">
|
||||
<string key="IBUITitle">Samples</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="524408385"/>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="IBUIInterfaceOrientation">1</int>
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
<bool key="IBUIClearsSelectionOnViewWillAppear">NO</bool>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUINavigationController" key="IBUIDetailViewController" id="1006871283">
|
||||
<reference key="IBUIParentViewController" ref="143532475"/>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="IBUIInterfaceOrientation">1</int>
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
<object class="IBUINavigationBar" key="IBUINavigationBar" id="210980145">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{0, 0}</string>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIBarStyle">1</int>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIViewController" id="659859393">
|
||||
<object class="IBUIView" key="IBUIView" id="879616490">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{768, 960}</string>
|
||||
<reference key="IBUIBackgroundColor" ref="933040628"/>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<reference key="IBUIToolbarItems" ref="0"/>
|
||||
<object class="IBUINavigationItem" key="IBUINavigationItem" id="245890386">
|
||||
<string key="IBUITitle">Title</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="1006871283"/>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="IBUIInterfaceOrientation">1</int>
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="250404236"/>
|
||||
</object>
|
||||
<int key="connectionID">8</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="250404236"/>
|
||||
<reference key="destination" ref="62075450"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">splitViewController</string>
|
||||
<reference key="source" ref="250404236"/>
|
||||
<reference key="destination" ref="143532475"/>
|
||||
</object>
|
||||
<int key="connectionID">69</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">fRoot</string>
|
||||
<reference key="source" ref="143532475"/>
|
||||
<reference key="destination" ref="714382558"/>
|
||||
</object>
|
||||
<int key="connectionID">85</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">fDetail</string>
|
||||
<reference key="source" ref="143532475"/>
|
||||
<reference key="destination" ref="659859393"/>
|
||||
</object>
|
||||
<int key="connectionID">172</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="805122470"/>
|
||||
<reference key="destination" ref="714382558"/>
|
||||
</object>
|
||||
<int key="connectionID">91</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="805122470"/>
|
||||
<reference key="destination" ref="143532475"/>
|
||||
</object>
|
||||
<int key="connectionID">93</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="606714003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="62075450"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="250404236"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">52</int>
|
||||
<reference key="object" ref="143532475"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="524408385"/>
|
||||
<reference ref="1006871283"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">53</int>
|
||||
<reference key="object" ref="524408385"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="593802069"/>
|
||||
<reference ref="714382558"/>
|
||||
</object>
|
||||
<reference key="parent" ref="143532475"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">55</int>
|
||||
<reference key="object" ref="714382558"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="136024681"/>
|
||||
<reference ref="805122470"/>
|
||||
</object>
|
||||
<reference key="parent" ref="524408385"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">56</int>
|
||||
<reference key="object" ref="593802069"/>
|
||||
<reference key="parent" ref="524408385"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">57</int>
|
||||
<reference key="object" ref="136024681"/>
|
||||
<reference key="parent" ref="714382558"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">89</int>
|
||||
<reference key="object" ref="805122470"/>
|
||||
<reference key="parent" ref="714382558"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">138</int>
|
||||
<reference key="object" ref="1006871283"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="659859393"/>
|
||||
<reference ref="210980145"/>
|
||||
</object>
|
||||
<reference key="parent" ref="143532475"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">142</int>
|
||||
<reference key="object" ref="659859393"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="245890386"/>
|
||||
<reference ref="879616490"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006871283"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">140</int>
|
||||
<reference key="object" ref="210980145"/>
|
||||
<reference key="parent" ref="1006871283"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">162</int>
|
||||
<reference key="object" ref="245890386"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="parent" ref="659859393"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">143</int>
|
||||
<reference key="object" ref="879616490"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="parent" ref="659859393"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-1.IBPluginDependency</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>-2.IBPluginDependency</string>
|
||||
<string>138.IBPluginDependency</string>
|
||||
<string>140.IBPluginDependency</string>
|
||||
<string>142.CustomClassName</string>
|
||||
<string>142.IBPluginDependency</string>
|
||||
<string>143.CustomClassName</string>
|
||||
<string>143.IBPluginDependency</string>
|
||||
<string>162.IBPluginDependency</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>52.CustomClassName</string>
|
||||
<string>52.IBPluginDependency</string>
|
||||
<string>53.IBPluginDependency</string>
|
||||
<string>55.CustomClassName</string>
|
||||
<string>55.IBPluginDependency</string>
|
||||
<string>56.IBPluginDependency</string>
|
||||
<string>57.IBPluginDependency</string>
|
||||
<string>6.CustomClassName</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
<string>89.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>UIResponder</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>SkUIDetailViewController</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>SkSampleUIView</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>SkUISplitViewController</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>SkUIRootViewController</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>AppDelegate_iPad</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">197</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">AppDelegate_iPad</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>splitViewController</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>SkUISplitViewController</string>
|
||||
<string>UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>splitViewController</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">splitViewController</string>
|
||||
<string key="candidateClassName">SkUISplitViewController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">window</string>
|
||||
<string key="candidateClassName">UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/AppDelegate_iPad.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkSampleUIView</string>
|
||||
<string key="superclassName">SkUIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/SkSampleUIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIDetailViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/SkUIDetailViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIRootViewController</string>
|
||||
<string key="superclassName">UITableViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/SkUIRootViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUISplitViewController</string>
|
||||
<string key="superclassName">UISplitViewController</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>fDetail</string>
|
||||
<string>fRoot</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>SkUIDetailViewController</string>
|
||||
<string>SkUIRootViewController</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>fDetail</string>
|
||||
<string>fRoot</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">fDetail</string>
|
||||
<string key="candidateClassName">SkUIDetailViewController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">fRoot</string>
|
||||
<string key="candidateClassName">SkUIRootViewController</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/SkUISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/SkUIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<real value="1296" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">1498</string>
|
||||
</data>
|
||||
</archive>
|
@ -1,20 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SkUIRootViewController.h"
|
||||
#import "SkUIDetailViewController.h"
|
||||
|
||||
@interface SkUISplitViewController : UISplitViewController <UITableViewDelegate, UISplitViewControllerDelegate> {
|
||||
@private
|
||||
SkUIRootViewController* fRoot;
|
||||
SkUIDetailViewController* fDetail;
|
||||
}
|
||||
@property (nonatomic, retain) IBOutlet SkUIRootViewController* fRoot;
|
||||
@property (nonatomic, retain) IBOutlet SkUIDetailViewController* fDetail;
|
||||
|
||||
@end
|
@ -1,50 +0,0 @@
|
||||
#import "SkUISplitViewController.h"
|
||||
|
||||
@implementation SkUISplitViewController
|
||||
@synthesize fRoot, fDetail;
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
return YES; //Auto Rotation for all orientations
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.delegate = self;
|
||||
[fDetail populateRoot:fRoot];
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[fRoot release];
|
||||
[fDetail release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
//Table View Delegate Methods
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
[fDetail goToItem:indexPath.row];
|
||||
if (fRoot.popoverController != nil) {
|
||||
[fRoot.popoverController dismissPopoverAnimated:YES];
|
||||
}
|
||||
}
|
||||
|
||||
//Split View Controller Delegate
|
||||
- (void)splitViewController:(UISplitViewController*)svc
|
||||
willHideViewController:(UIViewController *)aViewController
|
||||
withBarButtonItem:(UIBarButtonItem*)barButtonItem
|
||||
forPopoverController:(UIPopoverController*)pc {
|
||||
|
||||
barButtonItem.title = @"Samples";
|
||||
fRoot.popoverController = pc;
|
||||
fRoot.popoverButtonItem = barButtonItem;
|
||||
[fDetail showRootPopoverButtonItem:fRoot.popoverButtonItem];
|
||||
}
|
||||
|
||||
- (void)splitViewController:(UISplitViewController*)svc
|
||||
willShowViewController:(UIViewController *)aViewController
|
||||
invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
|
||||
[fDetail invalidateRootPopoverButtonItem:fRoot.popoverButtonItem];
|
||||
fRoot.popoverController = nil;
|
||||
fRoot.popoverButtonItem = nil;
|
||||
}
|
||||
|
||||
@end
|
@ -1,19 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SkUINavigationController.h"
|
||||
|
||||
@interface AppDelegate_iPhone : NSObject <UIApplicationDelegate> {
|
||||
@private
|
||||
UIWindow *window;
|
||||
SkUINavigationController* fRoot;
|
||||
}
|
||||
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
||||
@property (nonatomic, retain) IBOutlet SkUINavigationController* fRoot;
|
||||
|
||||
@end
|
@ -1,21 +0,0 @@
|
||||
#import "AppDelegate_iPhone.h"
|
||||
|
||||
@implementation AppDelegate_iPhone
|
||||
@synthesize window, fRoot;
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
[window addSubview:fRoot.view];
|
||||
[window makeKeyAndVisible];
|
||||
|
||||
self.window.rootViewController = fRoot;
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[window release];
|
||||
[fRoot release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
@ -1,831 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K540</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="94"/>
|
||||
<integer value="10"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="450319686">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUICustomObject" id="987256611">
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIWindow" id="380026005">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<object class="NSPSMatrix" key="NSFrameMatrix"/>
|
||||
<string key="NSFrameSize">{320, 480}</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIResizesToFullScreen">YES</bool>
|
||||
</object>
|
||||
<object class="IBUINavigationController" id="490735104">
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
<object class="IBUINavigationBar" key="IBUINavigationBar" id="1017823495">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{0, 0}</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIBarStyle">1</int>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIViewController" id="386778494">
|
||||
<object class="IBUIView" key="IBUIView" id="456730278">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{320, 416}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="535258798">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<reference key="IBUIToolbarItems" ref="0"/>
|
||||
<object class="IBUINavigationItem" key="IBUINavigationItem" id="694217933">
|
||||
<reference key="IBUINavigationBar"/>
|
||||
<string key="IBUITitle">Item</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="490735104"/>
|
||||
<object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics" id="18577453">
|
||||
<int key="IBUIBarStyle">1</int>
|
||||
<bool key="IBUIPrompted">NO</bool>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUINavigationController" id="922975573">
|
||||
<reference key="IBUISimulatedTopBarMetrics" ref="18577453"/>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<bool key="IBUIWantsFullScreenLayout">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
<object class="IBUINavigationBar" key="IBUINavigationBar" id="499920774">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{0, -44}, {0, 44}}</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIBarStyle">1</int>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUITableViewController" id="711816508">
|
||||
<object class="IBUITableView" key="IBUIView" id="301135056">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{320, 436}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="IBUIBackgroundColor" ref="535258798"/>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<int key="IBUISeparatorStyle">1</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">44</float>
|
||||
<float key="IBUISectionHeaderHeight">22</float>
|
||||
<float key="IBUISectionFooterHeight">22</float>
|
||||
</object>
|
||||
<object class="IBUINavigationItem" key="IBUINavigationItem" id="948852329">
|
||||
<reference key="IBUINavigationBar"/>
|
||||
<string key="IBUITitle">Samples</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="922975573"/>
|
||||
<object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics">
|
||||
<bool key="IBUIPrompted">NO</bool>
|
||||
</object>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="987256611"/>
|
||||
</object>
|
||||
<int key="connectionID">5</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="987256611"/>
|
||||
<reference key="destination" ref="380026005"/>
|
||||
</object>
|
||||
<int key="connectionID">6</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">fDetail</string>
|
||||
<reference key="source" ref="922975573"/>
|
||||
<reference key="destination" ref="386778494"/>
|
||||
</object>
|
||||
<int key="connectionID">39</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">fRoot</string>
|
||||
<reference key="source" ref="987256611"/>
|
||||
<reference key="destination" ref="922975573"/>
|
||||
</object>
|
||||
<int key="connectionID">48</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">fRoot</string>
|
||||
<reference key="source" ref="922975573"/>
|
||||
<reference key="destination" ref="711816508"/>
|
||||
</object>
|
||||
<int key="connectionID">53</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="301135056"/>
|
||||
<reference key="destination" ref="711816508"/>
|
||||
</object>
|
||||
<int key="connectionID">56</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="301135056"/>
|
||||
<reference key="destination" ref="922975573"/>
|
||||
</object>
|
||||
<int key="connectionID">78</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="380026005"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="987256611"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">App Delegate</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="450319686"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="922975573"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="499920774"/>
|
||||
<reference ref="711816508"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">12</int>
|
||||
<reference key="object" ref="499920774"/>
|
||||
<reference key="parent" ref="922975573"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">28</int>
|
||||
<reference key="object" ref="711816508"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="301135056"/>
|
||||
<reference ref="948852329"/>
|
||||
</object>
|
||||
<reference key="parent" ref="922975573"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">54</int>
|
||||
<reference key="object" ref="301135056"/>
|
||||
<reference key="parent" ref="711816508"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">83</int>
|
||||
<reference key="object" ref="948852329"/>
|
||||
<reference key="parent" ref="711816508"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">94</int>
|
||||
<reference key="object" ref="490735104"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1017823495"/>
|
||||
<reference ref="386778494"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">96</int>
|
||||
<reference key="object" ref="1017823495"/>
|
||||
<reference key="parent" ref="490735104"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="386778494"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="456730278"/>
|
||||
<reference ref="694217933"/>
|
||||
</object>
|
||||
<reference key="parent" ref="490735104"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="456730278"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="parent" ref="386778494"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">98</int>
|
||||
<reference key="object" ref="694217933"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="parent" ref="386778494"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>10.CustomClassName</string>
|
||||
<string>10.IBEditorWindowLastContentRect</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>11.CustomClassName</string>
|
||||
<string>11.IBEditorWindowLastContentRect</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>12.IBPluginDependency</string>
|
||||
<string>2.IBAttributePlaceholdersKey</string>
|
||||
<string>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>2.UIWindow.visibleAtLaunch</string>
|
||||
<string>28.CustomClassName</string>
|
||||
<string>28.IBEditorWindowLastContentRect</string>
|
||||
<string>28.IBPluginDependency</string>
|
||||
<string>35.CustomClassName</string>
|
||||
<string>35.IBPluginDependency</string>
|
||||
<string>4.CustomClassName</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>54.IBPluginDependency</string>
|
||||
<string>54.IBViewBoundsToFrameTransform</string>
|
||||
<string>83.IBPluginDependency</string>
|
||||
<string>94.IBEditorWindowLastContentRect</string>
|
||||
<string>94.IBPluginDependency</string>
|
||||
<string>96.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>UIResponder</string>
|
||||
<string>SkUINavigationController</string>
|
||||
<string>{{351, 526}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>SkUIDetailViewController</string>
|
||||
<string>{{445, 495}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSMutableDictionary">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<string>{{520, 376}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<integer value="1"/>
|
||||
<string>SkUIRootViewController</string>
|
||||
<string>{{360, 1385}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>SkSampleUIView</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>AppDelegate_iPhone</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAAAAAAAAw9kAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{1356, 526}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">99</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">AppDelegate_iPhone</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>fRoot</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>SkUINavigationController</string>
|
||||
<string>UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>fRoot</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">fRoot</string>
|
||||
<string key="candidateClassName">SkUINavigationController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">window</string>
|
||||
<string key="candidateClassName">UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">iPhone/AppDelegate_iPhone.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkSampleUIView</string>
|
||||
<string key="superclassName">SkUIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">SkSampleUIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIDetailViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Shared/SkUIDetailViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUINavigationController</string>
|
||||
<string key="superclassName">UINavigationController</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>fDetail</string>
|
||||
<string>fRoot</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>SkUIDetailViewController</string>
|
||||
<string>SkUIRootViewController</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>fDetail</string>
|
||||
<string>fRoot</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">fDetail</string>
|
||||
<string key="candidateClassName">SkUIDetailViewController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">fRoot</string>
|
||||
<string key="candidateClassName">SkUIRootViewController</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">iPhone/SkUINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIRootViewController</string>
|
||||
<string key="superclassName">UITableViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Shared/SkUIRootViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">SkUIView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">fOptionsDelegate</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">fOptionsDelegate</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">fOptionsDelegate</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Shared/SkUIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="565734826">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIApplication</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIBarButtonItem</string>
|
||||
<string key="superclassName">UIBarItem</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIBarButtonItem.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIBarItem</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="443745583">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="868507592">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationItem</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="443745583"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="565734826"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIScrollView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<reference key="sourceIdentifier" ref="868507592"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIWindow</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../iOSSampleApp.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
@ -1,20 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "SkUIRootViewController.h"
|
||||
#import "SkUIDetailViewController.h"
|
||||
|
||||
@interface SkUINavigationController : UINavigationController <UITableViewDelegate, UINavigationBarDelegate> {
|
||||
@private
|
||||
SkUIRootViewController* fRoot;
|
||||
SkUIDetailViewController* fDetail;
|
||||
}
|
||||
@property (nonatomic, retain) IBOutlet SkUIRootViewController* fRoot;
|
||||
@property (nonatomic, retain) IBOutlet SkUIDetailViewController* fDetail;
|
||||
|
||||
@end
|
@ -1,28 +0,0 @@
|
||||
#import "SkUINavigationController.h"
|
||||
|
||||
@implementation SkUINavigationController
|
||||
@synthesize fRoot, fDetail;
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[fDetail populateRoot:fRoot];
|
||||
[self pushViewController:fDetail animated:NO];
|
||||
}
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
return YES; //Allow auto rotation for all orientations
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[fRoot release];
|
||||
[fDetail release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
//Table View Delegate Methods
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
[fDetail goToItem:indexPath.row];
|
||||
[self pushViewController:fDetail animated:YES];
|
||||
}
|
||||
|
||||
@end
|
@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//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>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.google.iOSShell</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>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainWindow_iPhone</string>
|
||||
<key>NSMainNibFile~ipad</key>
|
||||
<string>MainWindow_iPad</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
Loading…
Reference in New Issue
Block a user