more work on debuggerWrappe

This commit is contained in:
Riccardo Mottola 2021-06-29 23:42:52 +02:00
parent b672b3b77c
commit 7c741d63e6
7 changed files with 53 additions and 53 deletions

View file

@ -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;

View file

@ -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

View file

@ -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=

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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;