Statistics
| Branch: | Tag: | Revision:

root / pithos-macos / PithosBrowserController.h @ 1b1e6fa1

History | View | Annotate | Download (3.9 kB)

1 d8d08dc1 Miltiadis Vasilakis
//
2 d8d08dc1 Miltiadis Vasilakis
//  PithosBrowserController.h
3 d8d08dc1 Miltiadis Vasilakis
//  pithos-macos
4 d8d08dc1 Miltiadis Vasilakis
//
5 e5fdf4d9 Miltiadis Vasilakis
// Copyright 2011 GRNET S.A. All rights reserved.
6 d8d08dc1 Miltiadis Vasilakis
//
7 e5fdf4d9 Miltiadis Vasilakis
// Redistribution and use in source and binary forms, with or
8 e5fdf4d9 Miltiadis Vasilakis
// without modification, are permitted provided that the following
9 e5fdf4d9 Miltiadis Vasilakis
// conditions are met:
10 e5fdf4d9 Miltiadis Vasilakis
// 
11 e5fdf4d9 Miltiadis Vasilakis
//   1. Redistributions of source code must retain the above
12 e5fdf4d9 Miltiadis Vasilakis
//      copyright notice, this list of conditions and the following
13 e5fdf4d9 Miltiadis Vasilakis
//      disclaimer.
14 e5fdf4d9 Miltiadis Vasilakis
// 
15 e5fdf4d9 Miltiadis Vasilakis
//   2. Redistributions in binary form must reproduce the above
16 e5fdf4d9 Miltiadis Vasilakis
//      copyright notice, this list of conditions and the following
17 e5fdf4d9 Miltiadis Vasilakis
//      disclaimer in the documentation and/or other materials
18 e5fdf4d9 Miltiadis Vasilakis
//      provided with the distribution.
19 e5fdf4d9 Miltiadis Vasilakis
// 
20 e5fdf4d9 Miltiadis Vasilakis
// THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
21 e5fdf4d9 Miltiadis Vasilakis
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22 e5fdf4d9 Miltiadis Vasilakis
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 e5fdf4d9 Miltiadis Vasilakis
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
24 e5fdf4d9 Miltiadis Vasilakis
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 e5fdf4d9 Miltiadis Vasilakis
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 e5fdf4d9 Miltiadis Vasilakis
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27 e5fdf4d9 Miltiadis Vasilakis
// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28 e5fdf4d9 Miltiadis Vasilakis
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 e5fdf4d9 Miltiadis Vasilakis
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 e5fdf4d9 Miltiadis Vasilakis
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 e5fdf4d9 Miltiadis Vasilakis
// POSSIBILITY OF SUCH DAMAGE.
32 e5fdf4d9 Miltiadis Vasilakis
// 
33 e5fdf4d9 Miltiadis Vasilakis
// The views and conclusions contained in the software and
34 e5fdf4d9 Miltiadis Vasilakis
// documentation are those of the authors and should not be
35 e5fdf4d9 Miltiadis Vasilakis
// interpreted as representing official policies, either expressed
36 e5fdf4d9 Miltiadis Vasilakis
// or implied, of GRNET S.A.
37 d8d08dc1 Miltiadis Vasilakis
38 d8d08dc1 Miltiadis Vasilakis
#import <Cocoa/Cocoa.h>
39 470e6f81 Miltiadis Vasilakis
#import "PithosActivityFacility.h"
40 e5fdf4d9 Miltiadis Vasilakis
@class PithosNode;
41 4bf68b77 Miltiadis Vasilakis
@class PithosAccountNode;
42 af3b9f06 Miltiadis Vasilakis
@class PithosSharingAccountsNode;
43 20f54e18 Miltiadis Vasilakis
@class PithosEmptyNode;
44 470e6f81 Miltiadis Vasilakis
@class PithosActivityFacility;
45 d8d08dc1 Miltiadis Vasilakis
46 470e6f81 Miltiadis Vasilakis
@interface PithosBrowserController : NSWindowController <NSBrowserDelegate, NSSplitViewDelegate, NSOutlineViewDelegate, NSOutlineViewDataSource, NSMenuDelegate, PithosActivityFacilityDelegate> {
47 e5fdf4d9 Miltiadis Vasilakis
    PithosNode *rootNode;
48 4bf68b77 Miltiadis Vasilakis
    PithosAccountNode *accountNode;
49 20f54e18 Miltiadis Vasilakis
    PithosEmptyNode *containersNode;
50 20f54e18 Miltiadis Vasilakis
    NSMutableArray *containersNodeChildren;
51 20f54e18 Miltiadis Vasilakis
    PithosEmptyNode *sharedNode;
52 20f54e18 Miltiadis Vasilakis
    PithosAccountNode *mySharedNode;
53 af3b9f06 Miltiadis Vasilakis
    PithosSharingAccountsNode *othersSharedNode;
54 9f3a92de Miltiadis Vasilakis
    
55 9f3a92de Miltiadis Vasilakis
    NSViewController *sharedPreviewController;
56 857217b0 Miltiadis Vasilakis
    
57 3b5f0a19 Miltiadis Vasilakis
    NSSplitView *verticalSplitView;
58 3b5f0a19 Miltiadis Vasilakis
    NSSplitView *horizontalSplitView;
59 3b5f0a19 Miltiadis Vasilakis
    NSView *leftTopView;
60 3b5f0a19 Miltiadis Vasilakis
    NSView *leftBottomView;
61 6a9b9f40 Miltiadis Vasilakis
    NSOutlineView *outlineView;
62 6a9b9f40 Miltiadis Vasilakis
    NSBrowser *browser;
63 1b1e6fa1 Miltiadis Vasilakis
    NSMenu *outlineViewMenu;
64 1b1e6fa1 Miltiadis Vasilakis
    NSMenu *browserMenu;
65 d41b3577 Miltiadis Vasilakis
    
66 d41b3577 Miltiadis Vasilakis
    NSArray *draggedNodes;
67 d41b3577 Miltiadis Vasilakis
    PithosNode *draggedParentNode;
68 c950a94d Miltiadis Vasilakis
    
69 c950a94d Miltiadis Vasilakis
    NSArray *clipboardNodes;
70 c950a94d Miltiadis Vasilakis
    PithosNode *clipboardParentNode;
71 c950a94d Miltiadis Vasilakis
    BOOL clipboardCopy;
72 470e6f81 Miltiadis Vasilakis
    
73 470e6f81 Miltiadis Vasilakis
    NSTextField *activityTextField;
74 470e6f81 Miltiadis Vasilakis
    NSProgressIndicator *activityProgressIndicator;
75 470e6f81 Miltiadis Vasilakis
    PithosActivityFacility *activityFacility;
76 d8d08dc1 Miltiadis Vasilakis
}
77 d8d08dc1 Miltiadis Vasilakis
78 470e6f81 Miltiadis Vasilakis
@property (nonatomic, readonly) PithosAccountNode *accountNode;
79 470e6f81 Miltiadis Vasilakis
80 3b5f0a19 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSSplitView *verticalSplitView;
81 3b5f0a19 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSSplitView *horizontalSplitView;
82 3b5f0a19 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSView *leftTopView;
83 3b5f0a19 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSView *leftBottomView;
84 857217b0 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSOutlineView *outlineView;
85 857217b0 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSBrowser *browser;
86 1b1e6fa1 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSMenu *outlineViewMenu;
87 1b1e6fa1 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSMenu *browserMenu;
88 e5fdf4d9 Miltiadis Vasilakis
89 d41b3577 Miltiadis Vasilakis
@property (nonatomic, retain) NSArray *draggedNodes;
90 d41b3577 Miltiadis Vasilakis
@property (nonatomic, retain) PithosNode *draggedParentNode;
91 d41b3577 Miltiadis Vasilakis
92 c950a94d Miltiadis Vasilakis
@property (nonatomic, retain) NSArray *clipboardNodes;
93 c950a94d Miltiadis Vasilakis
@property (nonatomic, retain) PithosNode *clipboardParentNode;
94 c950a94d Miltiadis Vasilakis
@property (nonatomic, assign) BOOL clipboardCopy;
95 c950a94d Miltiadis Vasilakis
96 470e6f81 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSTextField *activityTextField;
97 470e6f81 Miltiadis Vasilakis
@property (nonatomic, assign) IBOutlet NSProgressIndicator *activityProgressIndicator;
98 470e6f81 Miltiadis Vasilakis
99 1b1e6fa1 Miltiadis Vasilakis
- (IBAction)forceRefresh:(id)sender;
100 e5fdf4d9 Miltiadis Vasilakis
- (IBAction)refresh:(id)sender;
101 e5fdf4d9 Miltiadis Vasilakis
102 d8d08dc1 Miltiadis Vasilakis
@end