idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h
branchRCL_3
changeset 102 ba63c83f4716
parent 93 b01126ce0bec
equal deleted inserted replaced
93:b01126ce0bec 102:ba63c83f4716
    32 class CXnControlAdapter;
    32 class CXnControlAdapter;
    33 class CXnViewData;
    33 class CXnViewData;
    34 class CXnODT;
    34 class CXnODT;
    35 class CXnViewManager;
    35 class CXnViewManager;
    36 class CXnPublisherData;
    36 class CXnPublisherData;
    37 class CCoeControl;
       
    38 
    37 
    39 // Constants
    38 // Constants
    40 
       
    41 NONSHARABLE_STRUCT( TXnDirtyRegion )
       
    42     {
       
    43     /** Area that needs to be redrawn */
       
    44     RRegion         iRegion;      
       
    45 
       
    46     /** Window owning control 
       
    47      *  Not own.
       
    48      */
       
    49     CCoeControl*    iControl;
       
    50 
       
    51     /** Window owning node
       
    52      *  Not own.
       
    53      */
       
    54     CXnNode*        iRootNode; 
       
    55 
       
    56     /** List of currently dirty nodes */
       
    57     RPointerArray< CXnNode > iDirtyList;
       
    58 
       
    59     /** Controls layouting */
       
    60     TInt iLayoutControl;
       
    61 
       
    62     TXnDirtyRegion() : iControl( NULL ), iRootNode( NULL ), 
       
    63         iLayoutControl( 0 ) {}
       
    64 
       
    65     ~TXnDirtyRegion()
       
    66         {
       
    67         iRegion.Close();
       
    68         iDirtyList.Reset();
       
    69         }
       
    70     };
       
    71 
    39 
    72 // Class declaration
    40 // Class declaration
    73 
    41 
    74 /**
    42 /**
    75  * Holds plugin data in UiEngine
    43  * Holds plugin data in UiEngine
    88         EIsDispose,
    56         EIsDispose,
    89         EIsOccupied,   
    57         EIsOccupied,   
    90         EIsEmpty,
    58         EIsEmpty,
    91         EIsRemovable,
    59         EIsRemovable,
    92         EIsActive,             
    60         EIsActive,             
    93         EIsInitial,
    61         EIsInitial        
    94         EIsEditable
       
    95         };
    62         };
    96         
    63         
    97 public:    
    64 public:    
    98     // Constructors and destructor
    65     // Constructors and destructor
    99     
    66     
   404      * @return ETrue when removable EFalse when not
   371      * @return ETrue when removable EFalse when not
   405      */    
   372      */    
   406     inline TBool Removable() const;
   373     inline TBool Removable() const;
   407     
   374     
   408     /*
   375     /*
   409      * Checks whether editable
       
   410      * 
       
   411      * @return ETrue when editable EFalse when not
       
   412      */      
       
   413     inline TBool Editable() const;
       
   414     
       
   415     /*
       
   416      * Queries whether this plugin is holding "empty" widget
   376      * Queries whether this plugin is holding "empty" widget
   417      * 
   377      * 
   418      * @return ETrue if empty, EFalse otherwise     
   378      * @return ETrue if empty, EFalse otherwise     
   419      */                
   379      */                
   420     TBool Empty() const;
   380     TBool Empty() const;
   478      * Show oom error note
   438      * Show oom error note
   479      */    
   439      */    
   480     void ShowOutOfMemError();
   440     void ShowOutOfMemError();
   481     
   441     
   482     /**
   442     /**
   483      * Sets locking_status attribute (none/locked/permanent) 
   443      * Sets locking_status attribute (locked/none) 
   484      * 
   444      * 
   485      * @param aStatus "none" / "locked" / "permanent"
   445      * @param aStatus "locked" / "none"
   486      */
   446      */
   487     void SetLockingStatus( const TDesC8& aStatus );    
   447     void SetLockingStatus( const TDesC8& aStatus );    
   488         
   448         
   489     /**
       
   490      * Creates dirty region.
       
   491      * 
       
   492      * @return Created dirty region.
       
   493      */
       
   494     TXnDirtyRegion* CreateDirtyRegionL( CXnNode& aRootNode, CCoeControl& aControl);
       
   495 
       
   496     /**
       
   497      * Get dirty region.
       
   498      * 
       
   499      * @return dirty region.
       
   500      */
       
   501     inline TXnDirtyRegion* DirtyRegion() const;
       
   502 
       
   503 protected:
   449 protected:
   504     // data
   450     // data
   505         
   451         
   506     /** Plugins data */
   452     /** Plugins data */
   507     mutable RPointerArray< CXnPluginData > iPluginsData;
   453     mutable RPointerArray< CXnPluginData > iPluginsData;
   537     HBufC8* iPluginType;
   483     HBufC8* iPluginType;
   538     /** Publisher name, Owned */
   484     /** Publisher name, Owned */
   539     HBufC* iPublisherName;
   485     HBufC* iPublisherName;
   540     /** Flags to define this plugin's state */
   486     /** Flags to define this plugin's state */
   541     TBitFlags32 iFlags;
   487     TBitFlags32 iFlags;
   542     /** Region pending redraw, Owned */
       
   543     TXnDirtyRegion* iDirtyRegion;
       
   544     };
   488     };
   545 
   489 
   546 // Inline functions
   490 // Inline functions
   547 #include "xnplugindata.inl"
   491 #include "xnplugindata.inl"
   548 
   492