var tab = app.createTabPanel();まず、TabPanelオブジェクトを作成し、UiInstanceに組み込む部分です。オブジェクト生成は「createTabPanel」というメソッドを呼び出すだけです。そして横幅をsetWidthで調整しておきます。これを行わないと、組み込んだコンポーネントのサイズに自動調整されます。少し大きめのほうが見やすいですからね。ちなみに高さは組み込んだコンポーネントに応じて自動調整されるため、setHeightしても変わりません。
tab.setId("tab1");
tab.setWidth("200px");
app.add(tab);
var p1 = ……略……コンポーネントの組み込みは、addで行います。引数に、組み込むコンポーネントと、タブに表示するラベルのテキストを用意します。これで指定の名前のタブにコンポーネントが組み込まれます。
tab.add(p1,"One");
var p2 = ……
tab.add(p2,"Two");
tab.selectTab(0);最後にselectTabでタブを選択しておきます。タブとして組み込んだコンポーネントは、addした順番通りにインデックス番号が割り振られています。このselectTabで番号を指定することで、そのインデックス番号のタブが選択されます。
var handler = app.createServerSelectionHandler("onSelectTab");
tab.addSelectionHandler(handler);ハンドラオブジェクトの生成は、createServerSelectionHandlerメソッドを使います。引数には、呼び出す関数名を指定します。そして生成したオブジェクトを、TabPanelのaddSelectionHandlerで組み込みます。呼び出されるコールバック関数では、以下のようにして選択されたタブを調べています。var n = e.parameter.tab1;ここでは、tab.setId("tab1");というようにしてtab1というIDでTabPanelを組み込んでいますので、コールバック関数のparameterからtab1として値を取り出すことができます。この値は、イベントが発生した(つまりタブが選択された)ときのタブのインデックス番号になります。これを調べることで、どのタブが選択されたかを知ることができますので、得られた値を元に処理を作成していけばよいでしょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
function doGet(e){
Logger.log(e);
var app = UiApp.createApplication().setTitle("Sample Page");
var panel = app.createVerticalPanel();
panel.setId("mainpanel");
app.add(panel);
var l1 = app.createLabel("This is Sample Page.");
l1.setStyleAttribute("font-size", "18pt");
l1.setStyleAttribute("background-color", "#CCCCFF");
l1.setStyleAttribute("margin", "10px");
panel.add(l1);
// tabpanel
var tab = app.createTabPanel();
tab.setId("tab1");
tab.setWidth("200px");
app.add(tab);
// content
var p1 = app.createVerticalPanel();
var label1 = app.createLabel("First Tab");
label1.setStyleAttribute("font-size", "14pt");
p1.add(label1);
tab.add(p1,"One");
var p2 = app.createVerticalPanel();
var label2 = app.createLabel("Second Tab");
label2.setStyleAttribute("font-size", "14pt");
p2.add(label2);
tab.add(p2,"Two");
tab.selectTab(0);
var handler = app.createServerSelectionHandler("onSelectTab");
tab.addSelectionHandler(handler);
return app;
}
function onSelectTab(e){
Logger.log(e);
var n = e.parameter.tab1; // タブの番号
var app = UiApp.getActiveApplication();
return app;
}
| << 前へ | 次へ >> |