File: pgview_main.m

package info (click to toggle)
pgplot5 5.2.2-19
  • links: PTS
  • area: non-free
  • in suites: jessie-kfreebsd, wheezy
  • size: 7,060 kB
  • sloc: fortran: 39,792; ansic: 22,549; objc: 1,534; sh: 1,305; makefile: 386; perl: 234; pascal: 233; tcl: 190; awk: 51; csh: 25
file content (86 lines) | stat: -rw-r--r-- 2,989 bytes parent folder | download | duplicates (11)
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
#import <AppKit/AppKit.h>
#import <Foundation/NSAutoreleasePool.h>
#import "portobj.h"
#import "dispatchobj.h"

#include <stdio.h>

void main(int argc, char *argv[]) {

      portobj        *myport;
      dispatchobj    *mydispatch;
      NSAutoreleasePool *pool;
      NSConnection   *conn;
      NSMenu         *mymenu, *newmenu;
      NSMenuItem     *hitem, *nitem;
      unsigned short iport=7974;

/* Black magic to make everything work */
      [NSApplication sharedApplication];
      pool = [[NSAutoreleasePool alloc] init];

/* Create a dispatch object */
      mydispatch = [[dispatchobj alloc] init];

/* Create the port object */
      myport = [[portobj alloc] initport:iport target:mydispatch];

/* Black magic to get sockets to work. */
      conn = [NSConnection connectionWithReceivePort:myport sendPort:myport];
      if (conn == nil) {
         NSLog(@"couldn't create a connection!");
         [pool release];
         exit(1);
      }
      [conn setRootObject:mydispatch];

/* Create the "new" submenu */
      newmenu = [[NSMenu alloc]
         initWithTitle:[NSString stringWithCString:"New"]];
      [[newmenu addItemWithTitle:[NSString stringWithCString:"Landscape"]
         action:@selector(newLand)
         keyEquivalent:[NSString stringWithCString:"L"]]
         setTarget:mydispatch];
      [[newmenu addItemWithTitle:[NSString stringWithCString:"Portrait"]
         action:@selector(newPort)
         keyEquivalent:[NSString stringWithCString:"O"]]
         setTarget:mydispatch];

/* Create the menu */
      mymenu = [[NSMenu alloc]
         initWithTitle:[NSString stringWithCString:"pgview"]];
      [[mymenu addItemWithTitle:[NSString stringWithCString:"Info..."]
         action:@selector(showInfo)
         keyEquivalent:@""]
         setTarget:mydispatch];
      nitem=[mymenu addItemWithTitle:[NSString stringWithCString:"New"]
         action:NULL
         keyEquivalent:@""];
      [mymenu setSubmenu:newmenu forItem:nitem];
      hitem=[mymenu addItemWithTitle:[NSString stringWithCString:"Hosts"]
         action:NULL
         keyEquivalent:@""];
      [mymenu setSubmenu:[myport gethostmenu] forItem:hitem];
      [[mymenu addItemWithTitle:[NSString stringWithCString:"Print"]
         action:@selector(pgprint)
         keyEquivalent:[NSString stringWithCString:"p"]]
         setTarget:mydispatch];
      [[mymenu addItemWithTitle:[NSString stringWithCString:"Deactivate"]
         action:@selector(deactive)
         keyEquivalent:[NSString stringWithCString:"d"]]
         setTarget:mydispatch];
      [mymenu addItemWithTitle:[NSString stringWithCString:"Hide"]
         action:@selector(hide:)
         keyEquivalent:[NSString stringWithCString:"h"]];
      [mymenu addItemWithTitle:[NSString stringWithCString:"Quit"]
         action:@selector(terminate:)
         keyEquivalent:[NSString stringWithCString:"q"]];
      [mymenu sizeToFit];
      [NSApp setMainMenu:mymenu];

      [NSApp run];

      [pool release];

      exit(0);
}