Quintiq file version 2.0
#parent: #root
Method Edit (
  internal[GUIComponent] parent,
  Bookmark bookmark
) as Bookmark id:Method_DialogCreateEditBookmark_Edit
{
  #keys: '[121072.0.291119847]'
  Body:
  [*
    // New bookmark
    
    data := shadow( bookmark );
    ValueHolderIsFolder.Value( [String] data.IsFolder() )
    Dialog.Data( data );
    
    this.SetTitle( Dialog.Data().IsFolder() );
    
    // We need to set filter here because if we are editing a bookmark folder,
    // we need to filter out all of its children from the parent folder selection
    // because the code at this moment doesn't support changing a bookmark folder parent
    // to one of its children
    this.SetFilters( bookmark );
    
    result := Dialog.DoModal( parent );
    
    if( result > 0 )
    {
      bookmarks := construct( Bookmarks );
      bookmarks.Add( bookmark );
      bookmark.Update( EditorName.Text(), this.GetParentFolderName() );
    }
    
    return bookmark
  *]
}
