Robert Sesek [Sun, 13 Jul 2008 16:43:38 +0000 (12:43 -0400)]
Fixing a bug in -[SocketWrapper receive] that could miss up to the last 8 bytes of a response
* Source/SocketWrapper.m:
(receive): A multi-packet response could be incomplete by a difference of 8 bytes because we didn't factor in packetLength when counting
Robert Sesek [Wed, 9 Jul 2008 17:54:08 +0000 (13:54 -0400)]
Add Sparkle framework and hook it up (except for the appcast URL)
* English.lproj/MainMenu.xib: Instantiate the SUUpdater
* MacGDBp.xcodeproj: Add a build phase and link against Sparkle.framework
* Sparkle.framewokr/: New files
Robert Sesek [Wed, 9 Jul 2008 17:45:02 +0000 (13:45 -0400)]
Instantiate the Debugger and Breakpoint controllers in the NIB rather than in code
* English.lproj/MainMenu.xib: Instantiate DebuggerWindowController and BreakpointWindowController
* Source/AppDelegate.m:
(applicationDidFinishLaunching:): Remove the two object init lines
Robert Sesek [Wed, 9 Jul 2008 17:39:55 +0000 (13:39 -0400)]
Use prefernce values to set the port and IDE key, rather than hard-coded values
* Source/DebuggerWindowController.m+h:
(initWithPort:session:): Renamed to -[init] and use preference values to set the port and IDE key
* Source/AppDelegate.m:
(applicationDidFinishLaunching:): Simply call init on DebuggerWindowController
Robert Sesek [Wed, 9 Jul 2008 17:05:14 +0000 (13:05 -0400)]
Adding an empty preferences window and controller. Hooking up the Preferences menu item.
* English.lproj/MainMenu.xib: Hooking up the Preferences menu item
* English.lproj/Preferences.xib: New file
* Source/PreferencesController.m+h: New files
* Source/AppDelegate.m+h: Adding an ivar for the PreferencesController
(showPreferences:): New method
* MacGDBp.xcodeproj: Project updates for new files
Robert Sesek [Wed, 18 Jun 2008 13:26:40 +0000 (09:26 -0400)]
Fix a few exceptions/warnings related to going no-gc
* Source/AppDelegate.m
(versionCheck:): Add an NSAutoreleasePool
* Source/BreakpointManager.h: Specify an assignment type for the connection ivar
* Source/SocketWrapper.m:
(connect:): Add an NSAutoreleasePool
Robert Sesek [Mon, 16 Jun 2008 23:51:40 +0000 (19:51 -0400)]
Adding a *real* version checking system
* English.lproj/MainMenu.xib: Adding the version update window
* Source/AppDelegate.h: Adding IBOs for the updater window and the update information string
* Source/AppDelegate.m:
(init): Run the version check method
(versionCheck:): New method
(openUpdateInformation:): New method
Robert Sesek [Thu, 12 Jun 2008 15:31:53 +0000 (11:31 -0400)]
The breakpoint manager now works -- breakpoints can be set from the main debugger or the manager
* English.lproj/Breakpoints.xib: Set the NSTableView's delegate to be File's Owner and disconnect the content IBO to the NS-AC
* Source/BreakpointManager.m:
(updateDisplaysForfile:): New private method
(addBreakpoint:): Call [updateDisplaysForfile:]
(removeBreakpointAt:inFile:): ditto
* BreakpointWindowController.m+h: Add props and synth them for sourceView and arrayController ivars
(removeBreakpoint:): Fill out method stub
(tableViewSelectionDidChange:): Implement delegate method
* DebuggerWindowController.m+h: Add prop/synth for sourceViewer ivar
Robert Sesek [Thu, 12 Jun 2008 13:51:57 +0000 (09:51 -0400)]
Fixing a bug where if the register depth was too deep, more properties would not be fetched/inserted correctly
* Source/AppDelegate.m+h: Add and synthesize props for debugger and breakpoint ivars
* Source/DebuggerConnection.m+h:
(getProperty:forNode:): Renamed [getProperty:] and now return an NSArray rather than attaching to a node
* Source/DebuggerWindowController.m+h:
(addChildren:toNode:): Removed
(outlineViewItemDidExpand:): Don't have to do extra fetch work here because it will now be done in the model
* Source/NSXMLElementAdditions.m+h:
(subnodes): New method that does the same thing as [children] but intelligently fetches more depth
* English.lproj/Debugger.xib: Tell the regiser NSTreeController to use [subnodes] instead of [children]
Robert Sesek [Tue, 10 Jun 2008 17:59:53 +0000 (13:59 -0400)]
Hooking up the BSSourceView outlet and implement delegates
* English.lproj/Breakpoints.xib: Hook up outlet
* Source/BreakpointWindowController.h: Add the ivar
* Source/BreakpointWindowController.m:
(addBreakpoint:): Show the NSOpenPanel to select a file
(gutterClickedAtLine:forFile:): New method
Robert Sesek [Mon, 9 Jun 2008 20:35:40 +0000 (16:35 -0400)]
Finishing hooking up the XIB
* English.lproj/Breakpoints.xib: Set File's Owner to be BreakpointWindowController and set the window IBO
* Source/BreakpointWindowController.m:
(init): Adding a comment
Robert Sesek [Mon, 9 Jun 2008 19:51:01 +0000 (15:51 -0400)]
Adding a breakpoints NSWindowController for Breakpoints.xib
* Source/BreakpointWindowController.m+h: New files
* MacGDBp.xcodeproj: Project updates for BreakpointWindowController
* Source/AppDelegate.m+h:
(showBreakpointWindow:): New method
* English.lproj/MainMenu.xib: Add a
Robert Sesek [Thu, 5 Jun 2008 01:39:16 +0000 (21:39 -0400)]
When calling -[SocketWrapper remoteHost], we don't want to continually query the hostname
* Source/SocketWrapper.h: Adding a hostname ivar
* Source/SocketWrapper.m:
(remoteHost): Just return the hostname ivar
(connect:): Query the hostname and store it in the hostname ivar
Robert Sesek [Wed, 28 May 2008 18:29:14 +0000 (14:29 -0400)]
Trying to add some bounds checking so we don't get unhandled exceptions
* Source/DebuggerConnection.m:
(-[processData:]): Try to catch malformed data
* Source/DebuggerWindowController.m:
(-[updateSourceViewer]): Don't proceed if there is no stack
Robert Sesek [Wed, 23 Apr 2008 19:47:16 +0000 (15:47 -0400)]
Making a reference to the debugger in the Window menu
* English.lproj/MainMenu.xib: Add a Window->Debugger item
* Source/AppDelegate.m/h: Add a debugger ivar to hold the DebuggerWindowController
([showDebuggerWindow:]): New method to bring the debugger window to the front
* Source/DebuggerWindowContrller.m:
([awakeFromNib]): Exclude the window from the dynamic Window menu
Robert Sesek [Wed, 23 Apr 2008 19:12:05 +0000 (15:12 -0400)]
Removing the connect dialog
* English.lproj/Connect.xib: Removed
* English.lproj/MainMenu.xib: Removing the "Connection" menu and adding a "File" menu
* Source/AppDelegate.m/h:
([showConnectWindow:]): Removed
* Source/ConnectWindowController.m/h: Removed
* MacGDBp.xcodeproj: Project updates for removed files
Robert Sesek [Wed, 2 Apr 2008 21:26:36 +0000 (17:26 -0400)]
Adding support to actually set breakpoints on the debuger side
* Source/Breakpoint.h: New debuggerId ivar to keep track of the engine's tracking ID
* Source/Breakpoint.m: Synthesize ivar
* Source/DebuggerConnection.m/h:
([DebuggerConnection addBreakpoint:]): New method
([DebuggerConnection removeBreakpoint:]): New method
* Source/DebuggerWindowController.m:
([DebuggerWindowController gutterClickedAtLine:forFile:]): When adding a breakpoint, tell the engine to set it
Robert Sesek [Wed, 2 Apr 2008 18:55:06 +0000 (14:55 -0400)]
Adding a new class called BreakpointManager so we don't clutter up AppDelegate
* Source/AppDelegate.m/h: Removing the breakpoint code
* Source/BSLineNumberView.m:
([BSLineNumberView mouseDown:]): We need to add the lineNumberRange so we get an accurate number
* Source/DebuggerWindowController.m: Switching to BreakpointManager instead of AppDelegate for managing breakpoints
* Source/BreakpointManager.m/h: New files
* MacGDBp.xcodeproj: Project updates for BreakpointManager
Robert Sesek [Wed, 2 Apr 2008 17:53:46 +0000 (13:53 -0400)]
Initial breakpoint adding code
* MacGDBp.xcodeproj: Project updates for Breakpoint.m/h
* Source/AppDelegate.h: Add a breakpoints ivar
* Source/AppDelegate.m:
([AppDelegate addBreakpoint:]): New method
([AppDelegate breakpointsForFile:]): New method
* Source/BSLineNumberView.h: Add a markers ivar
* Source/BSLineNumberView.m:
([BSLineNumberView drawRect:]): Add breakpoint-detecting code
* Source/DebuggerWindowController.m: Making this the delegate of BSSourceView
([DebuggerWindowController gutterClickedAtLine:forFile:]): Implementing delegate method
Robert Sesek [Tue, 1 Apr 2008 04:33:22 +0000 (00:33 -0400)]
We now properly handle the mouseDown event in the gutter
* Source/BSLineNumberView.h: New property called lineNumberRange
* Source/BSLineNumberView.m: Synthesize lineNumberRange and set it to be empty in -[init]
([BSLineNumberView drawRect:]): Set lineNumberRange to be the range of visible lines in the source viewer
([BSLineNumberView mouseDown:]): Use the line number range to simplify the code of determining which line was clicked
* Source/BSSourceView.h: New property file to hold the filename; also create delegate category
* Source/BSSourceView.h: Synthesize file
([BSSourceView setFile:]): Sets the file property as well as setting the string of the textView object
* Source/DebuggerWindowController.m:
([DebuggerWindowController updateSourceViewer]): Use the new -[setFile:] method
Robert Sesek [Sat, 29 Mar 2008 03:02:36 +0000 (23:02 -0400)]
Add an application icon
* Icons/MacGDBp.icns: New icon file
* Info.plist: Add a reference to the icon file
* MacGDBp.xcodeproj: Project updates for the icon file
* Resource Masters/App Icon.psd: New file
* Resource Masters/Globe.ai: New file
* Resource Masters/Toolbar Buttons.psd: Moved from root folder