From 53dfea545e3007dfcdb4c15b381a51647a17cccd Mon Sep 17 00:00:00 2001 From: Pieter de Bie Date: Mon, 22 Sep 2008 21:40:42 +0200 Subject: [PATCH] PBViewController: Extract common code to a superclass --- GitX.xcodeproj/project.pbxproj | 6 ++++++ PBGitCommitController.h | 14 ++++---------- PBGitCommitController.m | 12 ------------ PBGitHistoryController.h | 11 ++--------- PBGitHistoryController.m | 12 +----------- PBViewController.h | 22 ++++++++++++++++++++++ PBViewController.m | 28 ++++++++++++++++++++++++++++ 7 files changed, 63 insertions(+), 42 deletions(-) create mode 100644 PBViewController.h create mode 100644 PBViewController.m diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index fc3618c..f1b0927 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -51,6 +51,7 @@ F5C007750E731B48007B84B2 /* PBGitRef.m in Sources */ = {isa = PBXBuildFile; fileRef = F5C007740E731B48007B84B2 /* PBGitRef.m */; }; F5C6F68D0E65FF9300478D97 /* PBGitLane.m in Sources */ = {isa = PBXBuildFile; fileRef = F5C6F68C0E65FF9300478D97 /* PBGitLane.m */; }; F5DFFA6C0E075D8800617813 /* PBEasyFS.m in Sources */ = {isa = PBXBuildFile; fileRef = F5DFFA6B0E075D8800617813 /* PBEasyFS.m */; }; + F5E926060E8827D300056E75 /* PBViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5E926050E8827D300056E75 /* PBViewController.m */; }; F5FF4E180E0829C20006317A /* PBGitRevList.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FF4E170E0829C20006317A /* PBGitRevList.m */; }; F5FF4E7A0E082E440006317A /* PBGitGrapher.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FF4E790E082E440006317A /* PBGitGrapher.m */; }; /* End PBXBuildFile section */ @@ -150,6 +151,8 @@ F5C6F68C0E65FF9300478D97 /* PBGitLane.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitLane.m; sourceTree = ""; }; F5DFFA6A0E075D8800617813 /* PBEasyFS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBEasyFS.h; sourceTree = ""; }; F5DFFA6B0E075D8800617813 /* PBEasyFS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBEasyFS.m; sourceTree = ""; }; + F5E926040E8827D300056E75 /* PBViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBViewController.h; sourceTree = ""; }; + F5E926050E8827D300056E75 /* PBViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBViewController.m; sourceTree = ""; }; F5FF4E160E0829C20006317A /* PBGitRevList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitRevList.h; sourceTree = ""; }; F5FF4E170E0829C20006317A /* PBGitRevList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitRevList.m; sourceTree = ""; }; F5FF4E780E082E440006317A /* PBGitGrapher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitGrapher.h; sourceTree = ""; }; @@ -319,6 +322,8 @@ F52BCE060E84211300AA3741 /* PBGitHistoryController.m */, F59116E70E843BCB0072CCB1 /* PBGitCommitController.h */, F59116E80E843BCB0072CCB1 /* PBGitCommitController.m */, + F5E926040E8827D300056E75 /* PBViewController.h */, + F5E926050E8827D300056E75 /* PBViewController.m */, ); name = Controllers; sourceTree = ""; @@ -484,6 +489,7 @@ F53FF2050E7ABB5300389171 /* PBGitRevSpecifier.m in Sources */, F52BCE070E84211300AA3741 /* PBGitHistoryController.m in Sources */, F59116E90E843BCB0072CCB1 /* PBGitCommitController.m in Sources */, + F5E926060E8827D300056E75 /* PBViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/PBGitCommitController.h b/PBGitCommitController.h index c8cfeb9..0a8d732 100644 --- a/PBGitCommitController.h +++ b/PBGitCommitController.h @@ -7,17 +7,11 @@ // #import -#import "PBGitRepository.h" -#import "PBGitWindowController.h" - -@interface PBGitCommitController : NSViewController { - PBGitRepository* repository; - PBGitWindowController *superController; +#import "PBViewController.h" +@interface PBGitCommitController : PBViewController { + NSArray *unstagedFiles; + NSArray *cachedFiles; } -@property (retain) PBGitRepository *repository; - -- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller; - @end diff --git a/PBGitCommitController.m b/PBGitCommitController.m index ac3e9fd..10f1ad0 100644 --- a/PBGitCommitController.m +++ b/PBGitCommitController.m @@ -11,16 +11,4 @@ @implementation PBGitCommitController -@synthesize repository; - -- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller -{ - if(self = [self initWithNibName:@"PBGitCommitView" bundle:nil]) { - self.repository = theRepository; - superController = controller; - } - - return self; -} - @end diff --git a/PBGitHistoryController.h b/PBGitHistoryController.h index d0adf86..70f92cf 100644 --- a/PBGitHistoryController.h +++ b/PBGitHistoryController.h @@ -9,13 +9,9 @@ #import #import "PBGitCommit.h" #import "PBGitTree.h" -#import "PBGitRepository.h" -#import "PBGitWindowController.h" - -@interface PBGitHistoryController : NSViewController { - PBGitRepository* repository; - PBGitWindowController *superController; +#import "PBViewController.h" +@interface PBGitHistoryController : PBViewController { IBOutlet NSArrayController* commitController; IBOutlet NSTreeController* treeController; IBOutlet NSOutlineView* fileBrowser; @@ -29,11 +25,8 @@ } -- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller; - @property (assign) int selectedTab; @property (retain) PBGitCommit *webCommit, *rawCommit; -@property (retain) PBGitRepository *repository; @property (retain) PBGitTree* gitTree; @property (readonly) NSArrayController *commitController; diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index c32d9eb..c937ccd 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -14,17 +14,7 @@ @implementation PBGitHistoryController -@synthesize repository, selectedTab, webCommit, rawCommit, gitTree, commitController; - -- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller -{ - if(self = [self initWithNibName:@"PBGitHistoryView" bundle:nil]) { - self.repository = theRepository; - superController = controller; - } - - return self; -} +@synthesize selectedTab, webCommit, rawCommit, gitTree, commitController; - (void)awakeFromNib { diff --git a/PBViewController.h b/PBViewController.h new file mode 100644 index 0000000..6953714 --- /dev/null +++ b/PBViewController.h @@ -0,0 +1,22 @@ +// +// PBViewController.h +// GitX +// +// Created by Pieter de Bie on 22-09-08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import +#import "PBGitRepository.h" +#import "PBGitWindowController.h" + +@interface PBViewController : NSViewController { + PBGitRepository *repository; + PBGitWindowController *superController; +} + +@property (readonly) PBGitRepository *repository; + +- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller; + +@end diff --git a/PBViewController.m b/PBViewController.m new file mode 100644 index 0000000..49b5491 --- /dev/null +++ b/PBViewController.m @@ -0,0 +1,28 @@ +// +// PBViewController.m +// GitX +// +// Created by Pieter de Bie on 22-09-08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import "PBViewController.h" + + +@implementation PBViewController + +@synthesize repository; + +- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller +{ + NSString *nibName = [[[self class] description] stringByReplacingOccurrencesOfString:@"Controller" + withString:@"View"]; + if(self = [self initWithNibName:nibName bundle:nil]) { + repository = theRepository; + superController = controller; + } + + return self; +} + +@end