Statistics
| Branch: | Tag: | Revision:

root / pithos-macos / PithosBrowserController.h @ 2943d6d4

History | View | Annotate | Download (3.9 kB)

1
//
2
//  PithosBrowserController.h
3
//  pithos-macos
4
//
5
// Copyright 2011 GRNET S.A. All rights reserved.
6
//
7
// Redistribution and use in source and binary forms, with or
8
// without modification, are permitted provided that the following
9
// conditions are met:
10
// 
11
//   1. Redistributions of source code must retain the above
12
//      copyright notice, this list of conditions and the following
13
//      disclaimer.
14
// 
15
//   2. Redistributions in binary form must reproduce the above
16
//      copyright notice, this list of conditions and the following
17
//      disclaimer in the documentation and/or other materials
18
//      provided with the distribution.
19
// 
20
// THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
21
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
24
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27
// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
// POSSIBILITY OF SUCH DAMAGE.
32
// 
33
// The views and conclusions contained in the software and
34
// documentation are those of the authors and should not be
35
// interpreted as representing official policies, either expressed
36
// or implied, of GRNET S.A.
37

    
38
#import <Cocoa/Cocoa.h>
39
#import "PithosActivityFacility.h"
40
@class PithosNode;
41
@class PithosAccountNode;
42
@class PithosSharingAccountsNode;
43
@class PithosEmptyNode;
44
@class PithosActivityFacility;
45

    
46
@interface PithosBrowserController : NSWindowController <NSBrowserDelegate, NSSplitViewDelegate, NSOutlineViewDelegate, NSOutlineViewDataSource, NSMenuDelegate, PithosActivityFacilityDelegate> {
47
    PithosNode *rootNode;
48
    PithosAccountNode *accountNode;
49
    PithosEmptyNode *containersNode;
50
    NSMutableArray *containersNodeChildren;
51
    PithosEmptyNode *sharedNode;
52
    PithosAccountNode *mySharedNode;
53
    PithosSharingAccountsNode *othersSharedNode;
54
    
55
    NSViewController *sharedPreviewController;
56
    
57
    NSSplitView *verticalSplitView;
58
    NSSplitView *horizontalSplitView;
59
    NSView *leftTopView;
60
    NSView *leftBottomView;
61
    NSOutlineView *outlineView;
62
    NSBrowser *browser;
63
    NSMenu *outlineViewMenu;
64
    NSMenu *browserMenu;
65
    
66
    NSArray *draggedNodes;
67
    PithosNode *draggedParentNode;
68
    
69
    NSArray *clipboardNodes;
70
    PithosNode *clipboardParentNode;
71
    BOOL clipboardCopy;
72
    
73
    NSTextField *activityTextField;
74
    NSProgressIndicator *activityProgressIndicator;
75
    PithosActivityFacility *activityFacility;
76
    
77
    NSTimer *refreshTimer;
78
}
79

    
80
@property (nonatomic, retain) PithosAccountNode *accountNode;
81

    
82
@property (nonatomic, assign) IBOutlet NSSplitView *verticalSplitView;
83
@property (nonatomic, assign) IBOutlet NSSplitView *horizontalSplitView;
84
@property (nonatomic, assign) IBOutlet NSView *leftTopView;
85
@property (nonatomic, assign) IBOutlet NSView *leftBottomView;
86
@property (nonatomic, assign) IBOutlet NSOutlineView *outlineView;
87
@property (nonatomic, assign) IBOutlet NSBrowser *browser;
88
@property (nonatomic, assign) IBOutlet NSMenu *outlineViewMenu;
89
@property (nonatomic, assign) IBOutlet NSMenu *browserMenu;
90

    
91
@property (nonatomic, retain) NSArray *draggedNodes;
92
@property (nonatomic, retain) PithosNode *draggedParentNode;
93

    
94
@property (nonatomic, retain) NSArray *clipboardNodes;
95
@property (nonatomic, retain) PithosNode *clipboardParentNode;
96
@property (nonatomic, assign) BOOL clipboardCopy;
97

    
98
@property (nonatomic, assign) IBOutlet NSTextField *activityTextField;
99
@property (nonatomic, assign) IBOutlet NSProgressIndicator *activityProgressIndicator;
100

    
101
- (IBAction)forceRefresh:(id)sender;
102
- (IBAction)refresh:(id)sender;
103

    
104
@end