Changed all the things that used NSMutableDictionary to store views as keys to not do so. Will test next.
This commit is contained in:
parent
22551413aa
commit
eb0b1d1ab7
|
@ -9,7 +9,7 @@ struct uiButton {
|
||||||
};
|
};
|
||||||
|
|
||||||
@interface buttonDelegateClass : NSObject {
|
@interface buttonDelegateClass : NSObject {
|
||||||
NSMutableDictionary *buttons;
|
NSMapTable *buttons;
|
||||||
}
|
}
|
||||||
- (IBAction)onClicked:(id)sender;
|
- (IBAction)onClicked:(id)sender;
|
||||||
- (void)registerButton:(uiButton *)b;
|
- (void)registerButton:(uiButton *)b;
|
||||||
|
@ -22,7 +22,7 @@ struct uiButton {
|
||||||
{
|
{
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self)
|
if (self)
|
||||||
self->buttons = [NSMutableDictionary new];
|
self->buttons = newMap();
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,18 +37,15 @@ struct uiButton {
|
||||||
|
|
||||||
- (IBAction)onClicked:(id)sender
|
- (IBAction)onClicked:(id)sender
|
||||||
{
|
{
|
||||||
NSValue *v;
|
|
||||||
uiButton *b;
|
uiButton *b;
|
||||||
|
|
||||||
v = (NSValue *) [self->buttons objectForKey:sender];
|
b = (uiButton *) mapGet(self->buttons, sender);
|
||||||
b = (uiButton *) [v pointerValue];
|
|
||||||
(*(b->onClicked))(b, b->onClickedData);
|
(*(b->onClicked))(b, b->onClickedData);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)registerButton:(uiButton *)b
|
- (void)registerButton:(uiButton *)b
|
||||||
{
|
{
|
||||||
[self->buttons setObject:[NSValue valueWithPointer:b]
|
mapSet(self->buttons, b->button, b);
|
||||||
forKey:b->button];
|
|
||||||
[b->button setTarget:self];
|
[b->button setTarget:self];
|
||||||
[b->button setAction:@selector(onClicked:)];
|
[b->button setAction:@selector(onClicked:)];
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ struct uiCheckbox {
|
||||||
};
|
};
|
||||||
|
|
||||||
@interface checkboxDelegateClass : NSObject {
|
@interface checkboxDelegateClass : NSObject {
|
||||||
NSMutableDictionary *buttons; // TODO rename to checkboxes?
|
NSMapTable *buttons; // TODO rename to checkboxes?
|
||||||
}
|
}
|
||||||
- (IBAction)onToggled:(id)sender;
|
- (IBAction)onToggled:(id)sender;
|
||||||
- (void)registerCheckbox:(uiCheckbox *)c;
|
- (void)registerCheckbox:(uiCheckbox *)c;
|
||||||
|
@ -22,7 +22,7 @@ struct uiCheckbox {
|
||||||
{
|
{
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self)
|
if (self)
|
||||||
self->buttons = [NSMutableDictionary new];
|
self->buttons = newMap();
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,18 +37,15 @@ struct uiCheckbox {
|
||||||
|
|
||||||
- (IBAction)onToggled:(id)sender
|
- (IBAction)onToggled:(id)sender
|
||||||
{
|
{
|
||||||
NSValue *v;
|
|
||||||
uiCheckbox *c;
|
uiCheckbox *c;
|
||||||
|
|
||||||
v = (NSValue *) [self->buttons objectForKey:sender];
|
c = (uiCheckbox *) mapGet(self->buttons, sender);
|
||||||
c = (uiCheckbox *) [v pointerValue];
|
|
||||||
(*(c->onToggled))(c, c->onToggledData);
|
(*(c->onToggled))(c, c->onToggledData);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)registerCheckbox:(uiCheckbox *)c
|
- (void)registerCheckbox:(uiCheckbox *)c
|
||||||
{
|
{
|
||||||
[self->buttons setObject:[NSValue valueWithPointer:c]
|
mapSet(self->buttons, c->button, c);
|
||||||
forKey:c->button];
|
|
||||||
[c->button setTarget:self];
|
[c->button setTarget:self];
|
||||||
[c->button setAction:@selector(onToggled:)];
|
[c->button setAction:@selector(onToggled:)];
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ struct uiEntry {
|
||||||
};
|
};
|
||||||
|
|
||||||
@interface entryDelegateClass : NSObject<NSTextFieldDelegate> {
|
@interface entryDelegateClass : NSObject<NSTextFieldDelegate> {
|
||||||
NSMutableDictionary *entries;
|
NSMapTable *entries;
|
||||||
}
|
}
|
||||||
- (void)controlTextDidChange:(NSNotification *)note;
|
- (void)controlTextDidChange:(NSNotification *)note;
|
||||||
- (void)registerEntry:(uiEntry *)e;
|
- (void)registerEntry:(uiEntry *)e;
|
||||||
|
@ -24,7 +24,7 @@ struct uiEntry {
|
||||||
{
|
{
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self)
|
if (self)
|
||||||
self->entries = [NSMutableDictionary new];
|
self->entries = newMap();
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,18 +39,15 @@ struct uiEntry {
|
||||||
|
|
||||||
- (void)controlTextDidChange:(NSNotification *)note
|
- (void)controlTextDidChange:(NSNotification *)note
|
||||||
{
|
{
|
||||||
NSValue *v;
|
|
||||||
uiEntry *e;
|
uiEntry *e;
|
||||||
|
|
||||||
v = (NSValue *) [self->entries objectForKey:[note object]];
|
e = (uiEntry *) mapGet(self->entries, [note object]);
|
||||||
e = (uiEntry *) [v pointerValue];
|
|
||||||
(*(e->onChanged))(e, e->onChangedData);
|
(*(e->onChanged))(e, e->onChangedData);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)registerEntry:(uiEntry *)e
|
- (void)registerEntry:(uiEntry *)e
|
||||||
{
|
{
|
||||||
[self->entries setObject:[NSValue valueWithPointer:e]
|
mapSet(self->entries, e->textfield, e);
|
||||||
forKey:e->textfield];
|
|
||||||
[e->textfield setDelegate:self];
|
[e->textfield setDelegate:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ struct uiWindow {
|
||||||
};
|
};
|
||||||
|
|
||||||
@interface windowDelegateClass : NSObject<NSWindowDelegate> {
|
@interface windowDelegateClass : NSObject<NSWindowDelegate> {
|
||||||
NSMutableDictionary *windows;
|
NSMapTable *windows;
|
||||||
}
|
}
|
||||||
- (BOOL)windowShouldClose:(id)sender;
|
- (BOOL)windowShouldClose:(id)sender;
|
||||||
- (void)registerWindow:(uiWindow *)w;
|
- (void)registerWindow:(uiWindow *)w;
|
||||||
|
@ -25,7 +25,7 @@ struct uiWindow {
|
||||||
{
|
{
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self)
|
if (self)
|
||||||
self->windows = [NSMutableDictionary new];
|
self->windows = newMap();
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,8 +51,7 @@ struct uiWindow {
|
||||||
|
|
||||||
- (void)registerWindow:(uiWindow *)w
|
- (void)registerWindow:(uiWindow *)w
|
||||||
{
|
{
|
||||||
[self->windows setObject:[NSValue valueWithPointer:w]
|
mapSet(self->windows w->window, w);
|
||||||
forKey:w->window];
|
|
||||||
[w->window setDelegate:self];
|
[w->window setDelegate:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue