File: AddPanelController.m

package info (click to toggle)
poe.app 0.5.1-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 564 kB
  • sloc: objc: 1,272; ansic: 438; makefile: 54; sh: 17
file content (110 lines) | stat: -rw-r--r-- 2,538 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/*
    AddPanelController.m - Add comment panel controller for Poe.app
    Copyright (C) 2003,2004,2005 Rob Burns

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02111, USA.
*/

#include "AddPanelController.h"

@implementation AddPanelController

- (void) dealloc
{
	RELEASE(_selection);
	RELEASE(_tags);

	[super dealloc];
}

- (id) initWithPosition: (NSPoint) origin
{
  self = [super initWithWindowNibName: @"AddPanel" owner: self];
  
  [[self window] setFrameOrigin: origin];

  return self;
}

- (void) awakeFromNib
{
 	[[self window] setTitle: _(@"Add Comment")];
	[label setStringValue: _(@"Choose a comment to add:")];
	[okButton setStringValue: _(@"OK")];
	[cancelButton setStringValue: _(@"Cancel")];

	_tags = [[NSMutableArray alloc] initWithArray: 
	[[Util singleInstance] tagsTitle]]; 
	[tagBrowser loadColumnZero];
	_selection = @"none";

 	[[self window] setDefaultButtonCell: [okButton cell]];
}

- (void) removeTag: (NSString *)tag
{
  if([_tags containsObject: tag])
    {
      [_tags removeObjectAtIndex: [_tags indexOfObject: tag]];
      [tagBrowser loadColumnZero];
    }
}

- (void) okPressed: (id) sender;
{
	if( [tagBrowser selectedRowInColumn: 0] > -1 ) 
		_selection = [[tagBrowser selectedCell] stringValue];
	[NSApp stopModal];
	[[self window] close];
}

- (void) cancelPressed: (id) sender
{
  [NSApp stopModal];
  [[self window] close];
}

- (NSString *) selection;
{
  return _selection;
}

// NSBrowser delegate methods
//****************************

- (int)browser:(NSBrowser *)sender numberOfRowsInColumn:(int)column
{
  if(sender == tagBrowser)
    {
      return [_tags count];
    }
  else
    {
      return 0;
    }
}

- (void)browser:(NSBrowser *)sender willDisplayCell:(id)cell
  atRow:(int)row column:(int)column
{
  if(sender == tagBrowser)
    {
      [cell setLeaf: YES];
      [cell setStringValue: [_tags objectAtIndex: row]];
    }
}

@end