2010-07-14 11:47:17 +02:00
|
|
|
/*
|
|
|
|
* InfoBarCommunicator.h - Definitions of a communication protocol and other data types used for
|
|
|
|
* the info bar implementation.
|
|
|
|
*
|
|
|
|
* Mike Lischke <mlischke@sun.com>
|
|
|
|
*
|
|
|
|
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
|
|
|
|
* This file is dual licensed under LGPL v2.1 and the Scintilla license (http://www.scintilla.org/License.txt).
|
|
|
|
*/
|
|
|
|
|
2015-06-07 23:19:26 +02:00
|
|
|
typedef NS_OPTIONS(NSUInteger, IBDisplay) {
|
2019-05-04 20:14:48 +02:00
|
|
|
IBShowZoom = 0x01,
|
|
|
|
IBShowCaretPosition = 0x02,
|
|
|
|
IBShowStatusText = 0x04,
|
|
|
|
IBShowAll = 0xFF
|
2010-07-14 11:47:17 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The info bar communicator protocol is used for communication between ScintillaView and its
|
|
|
|
* information bar component. Using this protocol decouples any potential info target from the main
|
|
|
|
* ScintillaView implementation. The protocol is used two-way.
|
|
|
|
*/
|
|
|
|
|
2015-06-07 23:19:26 +02:00
|
|
|
typedef NS_ENUM(NSInteger, NotificationType) {
|
2019-05-04 20:14:48 +02:00
|
|
|
IBNZoomChanged, // The user selected another zoom value.
|
|
|
|
IBNCaretChanged, // The caret in the editor changed.
|
|
|
|
IBNStatusChanged, // The application set a new status message.
|
2010-07-14 11:47:17 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
@protocol InfoBarCommunicator
|
2019-05-04 20:14:48 +02:00
|
|
|
- (void) notify: (NotificationType) type message: (NSString *) message location: (NSPoint) location
|
|
|
|
value: (float) value;
|
2010-07-14 11:47:17 +02:00
|
|
|
- (void) setCallback: (id <InfoBarCommunicator>) callback;
|
|
|
|
@end
|
|
|
|
|