ページウィンドウ (PageWindow) は本のようなレイアウトを作成して自動で表示する手段を提供します。
PageWindow | ページウィンドウ (PageWindow) は本のようなレイアウトを作成して自動で表示する手段を提供します。 |
実装の詳細 | ページウィンドウは、 ScrollWindow のページサイズセクションで作成するような縦に長いウィンドウに自動的に分割する特殊なウィンドウ要素です。 |
XML定義 | |
XMLタグ | |
必須属性 | |
pagesdisplayed | (一回に)表示するページ数。 |
guttersize | のど(ページとページの間)の距離。 |
childcontentswindow | 解析される全てのウィンドウをページ内に含む子ウィンドウの名前。 |
pagenumbertemplate | ページ数表示に使用する有効なラベル定義の名前。 |
関数 | |
関数 | |
PageWindowGetNumPagesDisplayed() | このページウィンドウが一回に表示するページの数を返します。 |
PageWindowGetNumPages() | childcontentswindow から解析された現在のページの数を返します。 |
PageWindowSetCurrentPage() | 表示する左端のページを設定します。 |
PageWindowGetCurrentPage() | 現在の左端のページのページ番号を返します。 |
PageWindowUpdatePages() | ページレイアウトを更新するために、全ての子ウィンドウを処理します。 |
PageWindowClearPageBreaks() | 改ページウィンドウとして登録された全てのウィンドウをクリアします。 |
PageWindowAddPageBreak() | 改ページウィンドウを新たに追加します。このウィンドウは常にページの頭から表示されます。 |
PageWindowRemovePageBreak() | 特定のウィンドウの改ページ設定を削除します。 |
PageWindowClearSplitableWindows() | 分割可能なウィンドウとして登録された全てのウィンドウをクリアします。 |
PageWindowAddSplitableWindow() | 新たな分割可能なウィンドウを追加します。 |
PageWindowRemoveSplitableWindow() | 特定のウィンドウの分割可能フラグを削除します。 |
ページウィンドウは、 ScrollWindow のページサイズセクションで作成するような縦に長いウィンドウに自動的に分割する特殊なウィンドウ要素です。
各ページは子ウィンドウ要素がそのページにぴったりと収まるよう解析されます。最下部からはみ出た部分は、次のページの頭に送られます。特定のウィンドウ要素を「改ページ」指定することで、常にページの頭から表記する事もできます。
このロジックには二つの例外があります:
現時点では、ウィンドウ定義だけの重複を引き起こし、サイズと位置情報のみが新しいウィンドウに転送されます。真のクローンとはなっていません。
ページディスプレイを作成するのに、以下の一般的な設定に従って指定することができます。
各ページの幅は、(一回に)表示されるページの数、のどのサイズ、ウィンドウの幅から決定されます。
pageWidth = windowWidth / ( pagesDisplayed - gutterSize*(pagesDisplayed-1) )
XMLタグ | |
必須属性 | |
pagesdisplayed | (一回に)表示するページ数。 |
guttersize | のど(ページとページの間)の距離。 |
childcontentswindow | 解析される全てのウィンドウをページ内に含む子ウィンドウの名前。 |
pagenumbertemplate | ページ数表示に使用する有効なラベル定義の名前。 |
関数 | |
PageWindowGetNumPagesDisplayed() | このページウィンドウが一回に表示するページの数を返します。 |
PageWindowGetNumPages() | childcontentswindow から解析された現在のページの数を返します。 |
PageWindowSetCurrentPage() | 表示する左端のページを設定します。 |
PageWindowGetCurrentPage() | 現在の左端のページのページ番号を返します。 |
PageWindowUpdatePages() | ページレイアウトを更新するために、全ての子ウィンドウを処理します。 |
PageWindowClearPageBreaks() | 改ページウィンドウとして登録された全てのウィンドウをクリアします。 |
PageWindowAddPageBreak() | 改ページウィンドウを新たに追加します。このウィンドウは常にページの頭から表示されます。 |
PageWindowRemovePageBreak() | 特定のウィンドウの改ページ設定を削除します。 |
PageWindowClearSplitableWindows() | 分割可能なウィンドウとして登録された全てのウィンドウをクリアします。 |
PageWindowAddSplitableWindow() | 新たな分割可能なウィンドウを追加します。 |
PageWindowRemoveSplitableWindow() | 特定のウィンドウの分割可能フラグを削除します。 |
childcontentswindow から解析された現在のページの数を返します。
pageWindowName | (string) ページウィンドウの名前。 |
numPages | (integer) 現在表示されているページの数。 |
local numPages = PageWindowGetNumPages( pageWindow )
改ページウィンドウを新たに追加します。このウィンドウは常にページの頭から表示されます。
pageWindowName | (string) ページウィンドウの名前。 |
pageBreakWindowName | (string) childcontentswindow の子ウィンドウの名前 |
nil | 戻り値無し。 |
PageWindowAddPageBreak( "SomePageWindow", "ChapterTwoHeading" )
特定のウィンドウの改ページ設定を削除します。
pageWindowName | (string) ページウィンドウの名前。 |
pageBreakWindowName | (string) childcontentswindow の子ウィンドウの名前。 |
nil | 戻り値無し。 |
PageWindowRemovePageBreak( "SomePageWindow", "ChapterTwoHeading" )
新たな分割可能なウィンドウを追加します。
このウィンドウがページからはみでると、次のページへ送られるのではなく、ページ間で分割されるように複製されます。
pageWindowName | (string) ページウィンドウの名前。 |
spilableWindowName | (string) childcontentswindow の子ウィンドウの名前。 |
nil | 戻り値無し。 |
PageWindowAddSplitableWindow( "SomePageWindow", "SomeTextBorder" )
特定のウィンドウの分割可能フラグを削除します。
pageWindowName | (string) ページウィンドウの名前。 |
splitableWindowName | (string) childcontentswindow の子ウィンドウの名前。 |
nil | 戻り値無し。 |
PageWindowRemoveSplitableWindow( "SomePageWindow", "SomeTextBorder" )