Archicad 29 C++ API
Loading...
Searching...
No Matches
ACAPI::Keynote::KeynoteFolder Class Reference

A class that represents a folder in the keynote tree structure. More...

#include <KeynoteFolder.hpp>

Inheritance diagram for ACAPI::Keynote::KeynoteFolder:
ACAPI::Object

Public Member Functions

API_Guid GetId () const
 
FolderKey GetKey () const
 
Result< void > SetKey (const FolderKey &newKey)
 Modifies the Key of the folder.
 
Title GetTitle () const
 
Result< void > SetTitle (const Title &newTitle)
 Modifies the Title of the folder.
 
Reference GetReference () const
 
Result< void > SetReference (const Reference &newReference)
 Modifies the Reference of the folder.
 
GS::UniString GetUIText () const
 
Result< KeynoteFolderGetParentFolder () const
 
Result< std::vector< KeynoteFolder > > GetDirectSubFolders () const
 
Result< KeynoteFolderAddSubFolder (const FolderKey &key, const Title &title)
 Adds a new subfolder to the folder.
 
Result< void > RemoveSubFolder (const FolderKey &key, const Title &title)
 Removes an existing subfolder of the folder.
 
Result< std::vector< KeynoteItem > > GetDirectItems () const
 
Result< KeynoteItemAddItem (const ItemKey &key)
 Adds a new item to the folder.
 
Result< void > RemoveItem (const ItemKey &key)
 Removes an existing item of the folder.
 
- Public Member Functions inherited from ACAPI::Object
 Object (std::shared_ptr< Impl::ObjectImpl > impl)
 Constructs a new object.
 
const API_TokenGetToken () const
 Get the token for this object.
 

Friends

class ACAPI::Impl::KeynoteManagerImpl
 
class KeynoteManager
 

Additional Inherited Members

- Protected Member Functions inherited from ACAPI::Object
 ~Object ()
 Default destructor.
 
- Protected Attributes inherited from ACAPI::Object
std::shared_ptr< Impl::ObjectImplmImpl
 Impl object given by constructor.
 

Detailed Description

A class that represents a folder in the keynote tree structure.

Since
Archicad 28

Member Function Documentation

◆ AddItem()

Result< KeynoteItem > ACAPI::Keynote::KeynoteFolder::AddItem ( const ItemKey & key)

Adds a new item to the folder.

Parameters
keyThe key of the new item
Returns
The created item
ACAPI_CallUndoableCommand ("Add new keynote item under root", [&rootFolder]() -> GSErrCode {
for (UInt32 i = 0; i < 10; ++i) {
const ACAPI::Keynote::ItemKey key ("K-" + GS::ValueToUniString (i));
if (newItem.IsOk ()) {
newItem.Unwrap ().SetTitle ("New item Title");
newItem.Unwrap ().SetDescription ("New item Description");
newItem.Unwrap ().SetReference ("New item Reference");
return NoError;
}
}
return Error;
});

◆ AddSubFolder()

Result< KeynoteFolder > ACAPI::Keynote::KeynoteFolder::AddSubFolder ( const FolderKey & key,
const Title & title )

Adds a new subfolder to the folder.

Parameters
keyThe key of the new subfolder
titleThe title of the new subfodler
Returns
The created folder
ACAPI_CallUndoableCommand ("Add new keynote folder under root", [&rootFolder]() -> GSErrCode {
for (UInt32 i = 0; i < 10; ++i) {
const ACAPI::Keynote::FolderKey key ("KF-" + GS::ValueToUniString (i));
const ACAPI::Keynote::Title title ("Title");
ACAPI::Result<ACAPI::Keynote::KeynoteFolder> newFolder = rootFolder.AddSubFolder (key, title);
if (newFolder.IsOk ()) {
newFolder.Unwrap ().SetReference ("New folder Reference");
return NoError;
}
}
return Error;
});

◆ GetDirectItems()

Result< std::vector< KeynoteItem > > ACAPI::Keynote::KeynoteFolder::GetDirectItems ( ) const
Returns
A list of items in the folder

◆ GetDirectSubFolders()

Result< std::vector< KeynoteFolder > > ACAPI::Keynote::KeynoteFolder::GetDirectSubFolders ( ) const
Returns
A list of the direct subfolders of the folder

◆ GetId()

API_Guid ACAPI::Keynote::KeynoteFolder::GetId ( ) const
Returns
The database Id of the folder

◆ GetKey()

FolderKey ACAPI::Keynote::KeynoteFolder::GetKey ( ) const
Returns
The key of the folder

◆ GetParentFolder()

Result< KeynoteFolder > ACAPI::Keynote::KeynoteFolder::GetParentFolder ( ) const
Returns
The parent folder of the folder

◆ GetReference()

Reference ACAPI::Keynote::KeynoteFolder::GetReference ( ) const
Returns
The reference of the folder

◆ GetTitle()

Title ACAPI::Keynote::KeynoteFolder::GetTitle ( ) const
Returns
The title of the folder

◆ GetUIText()

GS::UniString ACAPI::Keynote::KeynoteFolder::GetUIText ( ) const
Returns
The text representation of the folder, used on UI elements

◆ RemoveItem()

Result< void > ACAPI::Keynote::KeynoteFolder::RemoveItem ( const ItemKey & key)

Removes an existing item of the folder.

Parameters
keyThe key of the item to remove
Returns
The result of the modification
ACAPI_CallUndoableCommand ("Remove keynote folder from under root", [&rootFolder]() -> GSErrCode {
for (UInt32 i = 0; i < 10; ++i) {
const ACAPI::Keynote::ItemKey key ("K-" + GS::ValueToUniString (i));
ACAPI::Result<void> removeResult = rootFolder.RemoveItem (key);
if (removeResult.IsOk ()) {
return NoError;
}
}
return Error;
});

◆ RemoveSubFolder()

Result< void > ACAPI::Keynote::KeynoteFolder::RemoveSubFolder ( const FolderKey & key,
const Title & title )

Removes an existing subfolder of the folder.

Parameters
keyThe key of the subfolder to remove
titleThe title of the subfolder to remove
Returns
The result of the modification
ACAPI_CallUndoableCommand ("Remove keynote folder from under root", [&rootFolder]() -> GSErrCode {
for (UInt32 i = 0; i < 10; ++i) {
const ACAPI::Keynote::FolderKey key ("KF-" + GS::ValueToUniString (i));
const ACAPI::Keynote::Title title ("Title");
ACAPI::Result<void> removeResult = rootFolder.RemoveSubFolder (key, title);
if (removeResult.IsOk ()) {
return NoError;
}
}
return Error;
});

◆ SetKey()

Result< void > ACAPI::Keynote::KeynoteFolder::SetKey ( const FolderKey & newKey)

Modifies the Key of the folder.

Parameters
newKeyThe key to be set
Returns
The result of the modification
ACAPI::Keynote::KeynoteFolder firstFolder = subFolders.Unwrap ()[0];
ACAPI_CallUndoableCommand ("Modify first keynote folder", [&firstFolder]() -> GSErrCode {
if (firstFolder.SetKey ("KF-API").IsErr ()) {
return Error;
}
if (firstFolder.SetTitle ("Title set for Folder by API").IsErr ()) {
return Error;
}
if (firstFolder.SetReference("Keynote folder modified by the test addon").IsErr ()) {
return Error;
}
return NoError;
});

◆ SetReference()

Result< void > ACAPI::Keynote::KeynoteFolder::SetReference ( const Reference & newReference)

Modifies the Reference of the folder.

Parameters
newReferenceThe Reference to be set
Returns
The result of the modification
ACAPI::Keynote::KeynoteFolder firstFolder = subFolders.Unwrap ()[0];
ACAPI_CallUndoableCommand ("Modify first keynote folder", [&firstFolder]() -> GSErrCode {
if (firstFolder.SetKey ("KF-API").IsErr ()) {
return Error;
}
if (firstFolder.SetTitle ("Title set for Folder by API").IsErr ()) {
return Error;
}
if (firstFolder.SetReference("Keynote folder modified by the test addon").IsErr ()) {
return Error;
}
return NoError;
});

◆ SetTitle()

Result< void > ACAPI::Keynote::KeynoteFolder::SetTitle ( const Title & newTitle)

Modifies the Title of the folder.

Parameters
newTitleThe Title to be set
Returns
The result of the modification
ACAPI::Keynote::KeynoteFolder firstFolder = subFolders.Unwrap ()[0];
ACAPI_CallUndoableCommand ("Modify first keynote folder", [&firstFolder]() -> GSErrCode {
if (firstFolder.SetKey ("KF-API").IsErr ()) {
return Error;
}
if (firstFolder.SetTitle ("Title set for Folder by API").IsErr ()) {
return Error;
}
if (firstFolder.SetReference("Keynote folder modified by the test addon").IsErr ()) {
return Error;
}
return NoError;
});