Adobe.com
Contents Suites Classes Class Index Member Index

AIPanel.h

Go to the documentation of this file.
00001 /*************************************************************************
00002 *
00003 *ADOBE SYSTEMS INCORPORATED
00004 * Copyright 2016 Adobe Systems Incorporated
00005 * All Rights Reserved.
00006 *
00007 *NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the 
00008 *terms of the Adobe license agreement accompanying it.  If you have received this file from a 
00009 *source other than Adobe, then your use, modification, or distribution of it requires the prior 
00010 *written permission of Adobe.
00011 *
00012 **************************************************************************/
00013 
00014 #ifndef __AIPANEL_H__
00015 #define __AIPANEL_H__
00016 
00017 #include "AITypes.h"
00018 #include "IAIUnicodeString.h"
00019 #include "IAIAutoBuffer.h"
00022 /*******************************************************************************
00023 **
00024 **      Constants
00025 **
00026 **/
00027 
00028 #define kAIPanelSuite                                   "AI Panel Suite"
00029 #define kAIPanelSuiteVersion3                   AIAPI_VERSION(3)
00030 #define kAIPanelSuiteVersion                    kAIPanelSuiteVersion3
00031 #define kAIPanelVersion                                 kAIPanelSuiteVersion
00032 
00033 
00034 #define kAIPanelFlyoutMenuSuite                         "AI Panel Flyout Menu Suite"
00035 #define kAIPanelFlyoutMenuSuiteVersion2         AIAPI_VERSION(2)
00036 #define kAIPanelFlyoutMenuSuiteVersion          kAIPanelFlyoutMenuSuiteVersion2
00037 #define kAIPanelFlyoutMenuVersion                       kAIPanelFlyoutMenuSuiteVersion
00038 
00039 /*******************************************************************************
00040 **
00041 ** Types
00042 **
00043 **/
00044 #ifdef WIN_ENV
00045         typedef HWND AIPanelPlatformWindow;
00046 #elif MAC_ENV
00047     #ifdef __OBJC__
00048         @class NSView;
00049         typedef NSView* AIPanelPlatformWindow;
00050     #else
00051     typedef void*       AIPanelPlatformWindow;
00052     #endif
00053 #else
00054 #error unknown configuration
00055 #endif
00056 
00058 typedef struct _opaque_AIPanel* AIPanelRef;
00059 
00061 typedef struct _opaque_AIPanelFlyoutMenu* AIPanelFlyoutMenuRef;
00062 
00065 enum {
00066         kAIPanelFlyoutMenuItemMark_NONE,
00067         kAIPanelFlyoutMenuItemMark_CHECK,
00068         kAIPanelFlyoutMenuItemMark_BULLET,
00069         kAIPanelFlyoutMenuItemMark_DASH
00070 };
00071 
00074 typedef ai::uint32 AIPanelFlyoutMenuItemMark;
00075 
00078 typedef void* AIPanelUserData;
00079 
00084 typedef void AIAPI (*AIPanelFlyoutMenuPreVisibilityProc)(AIPanelRef inPanel);
00085 
00091 typedef void AIAPI (*AIPanelFlyoutMenuProc)(AIPanelRef inPanel, ai::uint32 itemID);
00092 
00098 typedef void AIAPI (*AIPanelVisibilityChangedNotifyProc)(AIPanelRef inPanel, AIBoolean isVisible);
00099 
00104 typedef void AIAPI (*AIPanelSizeChangedNotifyProc)(AIPanelRef inPanel);
00105 
00111 typedef void AIAPI (*AIPanelStateChangedNotifyProc)(AIPanelRef inPanel, ai::int16 newState);
00112 
00117 typedef void AIAPI (*AIPanelClosedNotifyProc)(AIPanelRef inPanel);
00118 
00119 
00120 /************************************************************************/
00122 /************************************************************************/
00126 #define kAIInvalidPanelRef                      'INVD'
00127 
00128 
00129 
00130 /*******************************************************************************
00131 **
00132 **      Suite
00133 **
00134 **/
00135 
00143 struct AIPanelSuite{
00144 
00156         AIAPI AIErr     (*Create)(SPPluginRef inPluginRef, const ai::UnicodeString& inID, const ai::UnicodeString& inTitle,
00157                                                         ai::int16 inStateCount, const AISize& inMinSize, AIBoolean isResizable,
00158                                                         AIPanelFlyoutMenuRef inFlyoutMenu, AIPanelUserData inUserData, AIPanelRef& outPanel);
00159 
00160 
00165         AIAPI AIErr     (*Destroy)(AIPanelRef inPanel);
00166 
00167 
00172         AIAPI AIErr (*GetPlatformWindow)(AIPanelRef inPanel, AIPanelPlatformWindow& outPlatformWindow);
00173 
00174 
00180         AIAPI AIErr     (*Show)(AIPanelRef inPanel, AIBoolean inShow);
00181 
00182 
00183 
00191         AIAPI AIErr (*IsShown)(AIPanelRef inPanel, AIBoolean& outIsShown);
00192 
00193 
00199         AIAPI AIErr     (*GetUserData)(AIPanelRef inPanel, AIPanelUserData& outUserData);
00200 
00201 
00207         AIAPI AIErr     (*SetUserData)(AIPanelRef inPanel, AIPanelUserData inUserData);
00208 
00209 
00214         AIAPI AIErr     (*SetTitle)(AIPanelRef inPanel, const ai::UnicodeString& inTitle);
00215 
00216 
00221         AIAPI AIErr     (*GetTitle)(AIPanelRef inPanel, ai::UnicodeString& outTitle);
00222 
00223 
00231         AIAPI AIErr     (*SetIcon)(AIPanelRef inPanel, const ai::AutoBuffer<const ai::uint8*>& inPNGData, const ai::AutoBuffer<ai::uint32>& inDataSize,
00232                                                         const ai::AutoBuffer<const ai::uint8*>& inPNGDarkData, const ai::AutoBuffer<ai::uint32>& inDarkDataSize);
00233 
00234 
00241         AIAPI AIErr     (*SetIconResourceID)(AIPanelRef inPanel, const ai::AutoBuffer<ai::uint32>& iconResId, const ai::AutoBuffer<ai::uint32>& darkIconResId);
00242 
00248         AIAPI AIErr     (*GetSize)(AIPanelRef inPanel, AISize& outSize);
00249 
00250 
00255         AIAPI AIErr     (*SetMinimumSize)(AIPanelRef inPanel, const AISize& inMinimumSize);
00256 
00257 
00262         AIAPI AIErr     (*GetMinimumSize)(AIPanelRef inPanel, AISize& outMinimumSize);
00263 
00264 
00269         AIAPI AIErr     (*SetMaximumSize)(AIPanelRef inPanel, const AISize& inMaximumSize);
00270 
00271 
00276         AIAPI AIErr     (*GetMaximumSize)(AIPanelRef inPanel, AISize& outMaximumSize);
00277 
00278 
00287         AIAPI AIErr     (*SetPreferredSizes)(AIPanelRef inPanel, const AISize& inPreferredSize);
00288 
00289 
00297         AIAPI AIErr     (*SetSizes)(AIPanelRef inPanel, const AISize& inMinimumSize, const AISize& inPreferredUnconstrainedSize,
00298                                                         const AISize& inPreferredConstrainedSize, const AISize& inMaximumSize);
00299 
00300 
00309         AIAPI AIErr     (*SetSize)(AIPanelRef inPanel, const AISize& inSize);
00310 
00311 
00317         AIAPI AIErr (*GetPreferredConstrainedSize)(AIPanelRef inPanel, AISize& outPreferredConstrainedSize);
00318 
00319 
00325         AIAPI AIErr (*GetPreferredUnconstrainedSize)(AIPanelRef inPanel, AISize& outPreferredUnconstrainedSize);
00326 
00327 
00332         AIAPI AIErr     (*SetCurrentState)(AIPanelRef inPanel, ai::int16 inCurrentState);
00333 
00334 
00339         AIAPI AIErr     (*GetCurrentState)(AIPanelRef inPanel, ai::int16& outCurrentState);
00340 
00341 
00346         AIAPI AIErr     (*SetStateCount)(AIPanelRef inPanel, ai::int16 inStateCount);
00347 
00348 
00353         AIAPI AIErr     (*GetStateCount)(AIPanelRef inPanel, ai::int16& outStateCount);
00354 
00355 
00363         AIAPI AIErr     (*SetVerticalStepSize)(AIPanelRef inPanel, AIReal inStepSize);
00364 
00365 
00370         AIAPI AIErr     (*GetVerticalStepSize)(AIPanelRef inPanel, AIReal& outStepSize);
00371 
00372 
00378         AIAPI AIErr     (*SetFlyoutMenu)(AIPanelRef inPanel, AIPanelFlyoutMenuRef inFlyoutMenu);
00379 
00380 
00386         AIAPI AIErr     (*GetFlyoutMenu)(AIPanelRef inPanel, AIPanelFlyoutMenuRef& outFlyoutMenu);
00387 
00388 
00396         AIAPI AIErr (*IsMinimized)(AIPanelRef inPanel, AIBoolean& outIsMinimized);
00397 
00398 
00404         AIAPI AIErr (*ChangeIsMinimized)(AIPanelRef inPanel, AIBoolean inIsMinimized);
00405 
00406 
00413         AIAPI AIErr     (*Move)(AIPanelRef inPanel, AIPoint inPoint);
00414 
00415 
00420         AIAPI AIErr (*SetFlyoutMenuPreVisibilityProc)(AIPanelRef inPanel, AIPanelFlyoutMenuPreVisibilityProc inFlyoutMenuPreVisProc);
00421 
00422 
00427         AIAPI AIErr (*SetFlyoutMenuProc)(AIPanelRef inPanel, AIPanelFlyoutMenuProc inFlyoutMenuProc);
00428 
00429 
00434         AIAPI AIErr (*SetVisibilityChangedNotifyProc)(AIPanelRef inPanel, AIPanelVisibilityChangedNotifyProc inVisibilityChangedNotifyProc);
00435 
00436 
00441         AIAPI AIErr (*SetSizeChangedNotifyProc)(AIPanelRef inPanel, AIPanelSizeChangedNotifyProc inSizeChangedNotifyProc);
00442 
00443 
00448         AIAPI AIErr (*SetStateChangedNotifyProc)(AIPanelRef inPanel, AIPanelStateChangedNotifyProc inStateChangedNotifyProc);
00449 
00450 
00455         AIAPI AIErr (*SetClosedNotifyProc)(AIPanelRef inPanel, AIPanelClosedNotifyProc inPanelClosedNotifyProc);
00456 
00461         AIAPI AIErr(*GetPosition)(AIPanelRef inPanelRef, AIRealRect &outRect);
00462 };
00463 
00464 
00465 
00466 
00467 /*******************************************************************************
00468 **
00469 **      Suite
00470 **
00471 **/
00472 
00480 struct AIPanelFlyoutMenuSuite{
00481 
00486         AIAPI AIErr     (*Create)(AIPanelFlyoutMenuRef& outFlyOutMenu);
00487 
00488 
00493         AIAPI AIErr     (*Destroy)(AIPanelFlyoutMenuRef inFlyOutMenu);
00494 
00495 
00500         AIAPI AIErr     (*Size)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32& outSize);
00501 
00502 
00508         AIAPI AIErr     (*AppendItem)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inNewItemID, const ai::UnicodeString& inItemText);
00509 
00510 
00515         AIAPI AIErr     (*AppendSeparator)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inNewItemID);
00516 
00517 
00524         AIAPI AIErr     (*InsertItem)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inBeforeItemID, ai::uint32 inNewItemID, const ai::UnicodeString& inItemText);
00525 
00526 
00533         AIAPI AIErr     (*InsertSeparator)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inBeforeItemID, ai::uint32 inNewItemID);
00534 
00535 
00540         AIAPI AIErr     (*RemoveItem)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID);
00541 
00542 
00548         AIAPI AIErr     (*SetItemEnabled)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, AIBoolean inEnabled);
00549 
00550 
00556         AIAPI AIErr     (*GetItemEnabled)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, AIBoolean& outEnabled);
00557 
00558 
00564         AIAPI AIErr     (*SetItemMark)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, AIPanelFlyoutMenuItemMark inItemMark);
00565 
00566 
00572         AIAPI AIErr     (*GetItemMark)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, AIPanelFlyoutMenuItemMark& outItemMark);
00573 
00574 
00580         AIAPI AIErr     (*SetItemText)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, const ai::UnicodeString& inItemText);
00581 
00582 
00588         AIAPI AIErr     (*GetItemText)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, ai::UnicodeString& outItemText);
00589 
00590 
00597         AIAPI AIErr     (*IsItemSeparator)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemIndex, AIBoolean& outIsItemSeparator);
00598 
00599 
00605         AIAPI AIErr     (*SetItemSubMenu)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, AIPanelFlyoutMenuRef inSubMenu);
00606 
00607 
00613         AIAPI AIErr     (*GetItemSubMenu)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID, AIPanelFlyoutMenuRef& outSubMenu);
00614 
00615 
00620         AIAPI AIErr     (*DetachItemSubMenu)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemID);
00621 
00627         AIAPI AIErr     (*SetItemID)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemIndex, ai::uint32 inNewItemID);
00628 
00634         AIAPI AIErr     (*GetItemID)(AIPanelFlyoutMenuRef inFlyOutMenu, ai::uint32 inItemIndex, ai::uint32& outItemID);
00635 };
00636 
00637 
00638 #endif


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks