mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-03-17 08:01:24 +00:00
more work on debuggerWrappe
This commit is contained in:
parent
b672b3b77c
commit
7c741d63e6
7 changed files with 53 additions and 53 deletions
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
** PipeDelegate
|
||||
** GDBWrapper
|
||||
**
|
||||
** Copyright (c) 2008-2016
|
||||
** Copyright (c) 2008-2021
|
||||
**
|
||||
** Author: Gregory Casamento <greg.casamento@gmail.com>
|
||||
** Riccardo Mottola <rm@gnu.org>
|
||||
|
@ -24,7 +24,7 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <AppKit/AppKit.h>
|
||||
|
||||
#import "PCDebuggerViewDelegateProtocol.h"
|
||||
#import "PCDebuggerWrapperProtocol.h"
|
||||
|
||||
typedef enum PCDebuggerOutputType_enum {
|
||||
PCDBNotFoundRecord = 0,
|
||||
|
@ -42,7 +42,7 @@ typedef enum PCDebuggerOutputType_enum {
|
|||
PCDBEmptyRecord
|
||||
} PCDebuggerOutputTypes;
|
||||
|
||||
@interface PipeDelegate : NSObject <PCDebuggerViewDelegateProtocol>
|
||||
@interface GDBWrapper : NSObject <PCDebuggerWrapperProtocol>
|
||||
{
|
||||
PCDebugger *debugger;
|
||||
NSTextView *tView;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
** PipeDelegate.m
|
||||
** GDBWrapper.m
|
||||
**
|
||||
** Copyright (c) 2008-2020 Free Software Foundation
|
||||
** Copyright (c) 2008-2021 Free Software Foundation
|
||||
**
|
||||
** Author: Gregory Casamento <greg.casamento@gmail.com>
|
||||
** Riccardo Mottola <rm@gnu.org>
|
||||
|
@ -35,14 +35,14 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#import "PipeDelegate.h"
|
||||
#import "GDBWrapper.h"
|
||||
#import "PCDebugger.h"
|
||||
|
||||
#ifndef NOTIFICATION_CENTER
|
||||
#define NOTIFICATION_CENTER [NSNotificationCenter defaultCenter]
|
||||
#endif
|
||||
|
||||
@implementation PipeDelegate
|
||||
@implementation GDBWrapper
|
||||
|
||||
|
||||
- (id)init
|
||||
|
|
|
@ -37,9 +37,9 @@ ProjectCenter_RESOURCE_FILES= \
|
|||
#
|
||||
ProjectCenter_HEADERS= \
|
||||
PCDebugger.h \
|
||||
PCDebugggerView.h \
|
||||
PCDebuggerViewDelegateProtocol.h \
|
||||
PipeDelegate.h
|
||||
PCDebuggerView.h \
|
||||
PCDebuggerWrapperProtocol.h \
|
||||
GDBWrapper.h
|
||||
|
||||
#
|
||||
# Class files
|
||||
|
@ -47,7 +47,7 @@ ProjectCenter_HEADERS= \
|
|||
ProjectCenter_OBJC_FILES= \
|
||||
PCDebugger.m \
|
||||
PCDebuggerView.m \
|
||||
PipeDelegate.m
|
||||
GDBWrapper.m
|
||||
|
||||
|
||||
#ADDITIONAL_OBJC_LIBS=
|
||||
|
|
|
@ -34,8 +34,8 @@
|
|||
#import "PCDebuggerView.h"
|
||||
|
||||
#import "Modules/Preferences/EditorFSC/PCEditorFSCPrefs.h"
|
||||
#import "PCDebuggerViewDelegateProtocol.h"
|
||||
#import "PipeDelegate.h"
|
||||
#import "PCDebuggerWrapperProtocol.h"
|
||||
#import "GDBWrapper.h"
|
||||
|
||||
|
||||
#ifndef NOTIFICATION_CENTER
|
||||
|
@ -140,7 +140,7 @@ NSString *PCDBDebuggerStartedNotification = @"PCDBDebuggerStartedNotification";
|
|||
if((self = [super init]) != nil)
|
||||
{
|
||||
NSLog(@"PCDebugger Init");
|
||||
id <PCDebuggerViewDelegateProtocol> viewDelegate;
|
||||
id <PCDebuggerWrapperProtocol> debuggerWrapper;
|
||||
// initialization here...
|
||||
if([NSBundle loadNibNamed: @"PCDebugger" owner: self] == NO)
|
||||
{
|
||||
|
@ -148,11 +148,11 @@ NSString *PCDBDebuggerStartedNotification = @"PCDBDebuggerStartedNotification";
|
|||
}
|
||||
|
||||
[(PCDebuggerView *)debuggerView setDebugger:self];
|
||||
viewDelegate = [[PipeDelegate alloc] init];
|
||||
[debuggerView setDelegate:viewDelegate];
|
||||
[viewDelegate setTextView:debuggerView];
|
||||
[viewDelegate setDebugger:self];
|
||||
[viewDelegate release];
|
||||
debuggerWrapper = [[GDBWrapper alloc] init];
|
||||
[debuggerView setDebuggerWrapper:debuggerWrapper];
|
||||
[debuggerWrapper setTextView:debuggerView];
|
||||
[debuggerWrapper setDebugger:self];
|
||||
[debuggerWrapper release];
|
||||
[debuggerView setFont: [self consoleFont]];
|
||||
|
||||
subProcessId = 0;
|
||||
|
@ -190,15 +190,15 @@ NSString *PCDBDebuggerStartedNotification = @"PCDBDebuggerStartedNotification";
|
|||
- (void) startDebugger
|
||||
{
|
||||
[debuggerView runProgram: debuggerPath
|
||||
inCurrentDirectory: [executablePath stringByDeletingLastPathComponent]
|
||||
withArguments: [[NSArray alloc] initWithObjects: @"--interpreter=mi", @"-f", executablePath, nil] // gdb dependent - should be generalized
|
||||
inCurrentDirectory: [executablePath stringByDeletingLastPathComponent]
|
||||
withArguments: [[NSArray alloc] initWithObjects: @"--interpreter=mi", @"-f", executablePath, nil] // FIXME gdb dependent - should be generalized in the wrapepr
|
||||
logStandardError: YES];
|
||||
|
||||
}
|
||||
|
||||
- (void) initBreakpoints
|
||||
{
|
||||
id <PCDebuggerViewDelegateProtocol> viewDelegate;
|
||||
id <PCDebuggerWrapperProtocol> debuggerWrapper;
|
||||
|
||||
breakpoints = [[NSMutableArray alloc] init];
|
||||
/* CRUDE EXAMPLES * TODO FIXME *
|
||||
|
@ -211,15 +211,15 @@ NSString *PCDBDebuggerStartedNotification = @"PCDBDebuggerStartedNotification";
|
|||
[breakpoints addObject:dP];
|
||||
*/
|
||||
|
||||
viewDelegate = [debuggerView delegate];
|
||||
[viewDelegate setBreakpoints:breakpoints];
|
||||
debuggerWrapper = [debuggerView debuggerWrapper];
|
||||
[debuggerWrapper setBreakpoints:breakpoints];
|
||||
}
|
||||
|
||||
- (void) debuggerSetup
|
||||
{
|
||||
id <PCDebuggerViewDelegateProtocol> viewDelegate;
|
||||
viewDelegate = [debuggerView delegate];
|
||||
[viewDelegate debuggerSetup];
|
||||
id <PCDebuggerWrapperProtocol> debuggerWrapper;
|
||||
debuggerWrapper = [debuggerView debuggerWrapper];
|
||||
[debuggerWrapper debuggerSetup];
|
||||
}
|
||||
|
||||
- (void) handleNotification: (NSNotification *)notification
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
** PCDebuggerView
|
||||
**
|
||||
** Copyright (c) 2008-2020
|
||||
** Copyright (c) 2008-2021
|
||||
**
|
||||
** Author: Gregory Casamento <greg.casamento@gmail.com>
|
||||
** Riccardo Mottola <rm@gnu.org>
|
||||
|
@ -24,20 +24,20 @@
|
|||
#import <Foundation/NSString.h>
|
||||
#import <AppKit/NSTextView.h>
|
||||
|
||||
#import "PCDebuggerViewDelegateProtocol.h"
|
||||
#import "PCDebuggerWrapperProtocol.h"
|
||||
|
||||
@class PCDebugger;
|
||||
|
||||
@interface PCDebuggerView : NSTextView
|
||||
{
|
||||
PCDebugger *debugger;
|
||||
id <PCDebuggerViewDelegateProtocol> viewDelegate;
|
||||
id <PCDebuggerWrapperProtocol> debuggerWrapper;
|
||||
NSString *currentFile;
|
||||
}
|
||||
|
||||
- (void) setDebugger:(PCDebugger *)theDebugger;
|
||||
- (id <PCDebuggerViewDelegateProtocol>)delegate;
|
||||
- (void) setDelegate:(id <PCDebuggerViewDelegateProtocol>) vd;
|
||||
- (id <PCDebuggerWrapperProtocol>)debuggerWrapper;
|
||||
- (void) setDebuggerWrapper:(id <PCDebuggerWrapperProtocol>) dw;
|
||||
- (void) setCurrentFile: (NSString *)fileName;
|
||||
- (NSString *) currentFile;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
** PCDebuggerView
|
||||
**
|
||||
** Copyright (c) 2008-2016
|
||||
** Copyright (c) 2008-2021
|
||||
**
|
||||
** Author: Gregory Casamento <greg.casamento@gmail.com>
|
||||
** Riccardo Mottola <rm@gnu.org>
|
||||
|
@ -41,25 +41,25 @@
|
|||
debugger = theDebugger;
|
||||
}
|
||||
|
||||
- (id <PCDebuggerViewDelegateProtocol>)delegate
|
||||
- (id <PCDebuggerWrapperProtocol>)debuggerWrapper
|
||||
{
|
||||
return viewDelegate;
|
||||
return debuggerWrapper;
|
||||
}
|
||||
|
||||
- (void) setDelegate:(id <PCDebuggerViewDelegateProtocol>) vd
|
||||
- (void) setDebuggerWrapper:(id <PCDebuggerWrapperProtocol>) dw
|
||||
{
|
||||
if (viewDelegate != vd)
|
||||
if (debuggerWrapper != dw)
|
||||
{
|
||||
[viewDelegate release];
|
||||
viewDelegate = vd;
|
||||
[viewDelegate retain];
|
||||
[debuggerWrapper release];
|
||||
debuggerWrapper = dw;
|
||||
[debuggerWrapper retain];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (void)setFont:(NSFont *)aFont
|
||||
{
|
||||
[viewDelegate setFont:aFont];
|
||||
[debuggerWrapper setFont:aFont];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -68,7 +68,7 @@
|
|||
- (void) logString:(NSString *)str
|
||||
newLine:(BOOL)newLine
|
||||
{
|
||||
[viewDelegate logString: str newLine: newLine withColor:[viewDelegate debuggerColor]];
|
||||
[debuggerWrapper logString: str newLine: newLine withColor:[debuggerWrapper debuggerColor]];
|
||||
}
|
||||
|
||||
- (void) setCurrentFile: (NSString *)fileName
|
||||
|
@ -83,7 +83,7 @@
|
|||
|
||||
- (void) terminate
|
||||
{
|
||||
[viewDelegate terminate];
|
||||
[debuggerWrapper terminate];
|
||||
}
|
||||
|
||||
- (void) mouseDown: (NSEvent *)event
|
||||
|
@ -99,10 +99,10 @@
|
|||
withArguments: (NSArray *)array
|
||||
logStandardError: (BOOL)logError
|
||||
{
|
||||
[viewDelegate runProgram: path
|
||||
inCurrentDirectory: directory
|
||||
withArguments: array
|
||||
logStandardError: logError];
|
||||
[debuggerWrapper runProgram: path
|
||||
inCurrentDirectory: directory
|
||||
withArguments: array
|
||||
logStandardError: logError];
|
||||
}
|
||||
|
||||
- (void) putString: (NSString *)string
|
||||
|
@ -110,12 +110,12 @@
|
|||
NSAttributedString* attr = [[NSAttributedString alloc] initWithString:string];
|
||||
[[self textStorage] appendAttributedString:attr];
|
||||
[self scrollRangeToVisible:NSMakeRange([[self string] length], 0)];
|
||||
[viewDelegate putString:string];
|
||||
[debuggerWrapper putString:string];
|
||||
}
|
||||
|
||||
- (void) keyDown: (NSEvent*)theEvent
|
||||
{
|
||||
[viewDelegate keyDown:theEvent];
|
||||
[debuggerWrapper keyDown:theEvent];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
** PCDebuggerViewDelegateProtocol.h
|
||||
** PCDebuggerWrapperProtocol.h
|
||||
**
|
||||
** Copyright (c) 2016-2020
|
||||
** Copyright (c) 2016-2021
|
||||
**
|
||||
** Author: Riccardo Mottola <rm@gnu.org>
|
||||
**
|
||||
|
@ -28,7 +28,7 @@
|
|||
@class NSString;
|
||||
@class PCDebugger;
|
||||
|
||||
@protocol PCDebuggerViewDelegateProtocol <NSObject>
|
||||
@protocol PCDebuggerWrapperProtocol <NSObject>
|
||||
|
||||
- (void)setFont:(NSFont *)font;
|
||||
|
||||
|
|
Loading…
Reference in a new issue