package carbon.beta;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import carbon.R;
import carbon.widget.DropDown;
import carbon.widget.LinearLayout;
import carbon.widget.TableView;
import carbon.widget.TextView;
import carbon.widget.Toolbar;
public class TableLayout extends LinearLayout {
private TableView table;
Toolbar toolbar;
LinearLayout header;
View footer;
DropDown rowNumber;
private TextView pageNumbers;
public TableLayout(Context context) {
super(context);
initTableLayout();
}
public TableLayout(Context context, AttributeSet attrs) {
super(context, attrs);
initTableLayout();
}
public TableLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initTableLayout();
}
private void initTableLayout() {
View.inflate(getContext(), R.layout.carbon_tablelayout, this);
setOrientation(VERTICAL);
toolbar = (Toolbar) findViewById(R.id.carbon_tableToolbar);
header = (LinearLayout) findViewById(R.id.carbon_tableHeader);
table = (TableView) findViewById(R.id.carbon_table);
footer = findViewById(R.id.carbon_tableFooter);
rowNumber = (DropDown) findViewById(R.id.carbon_tableRowNumber);
rowNumber.setItems(new String[]{"10", "20", "50"});
pageNumbers = (TextView) findViewById(R.id.carbon_tablePageNumbers);
}
public TableView getTableView() {
return table;
}
public Toolbar getToolbar() {
return toolbar;
}
public View getHeader() {
return header;
}
public View getFooter() {
return footer;
}
public void setAdapter(TableView.Adapter adapter) {
table.setAdapter(adapter);
header.removeAllViews();
for (int i = 0; i < adapter.getColumnCount(); i++) {
View headerCell = View.inflate(getContext(), R.layout.carbon_tablelayout_header, null);
TextView tv = (TextView) headerCell.findViewById(R.id.carbon_tableHeaderText);
tv.setText(adapter.getColumnName(i));
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, adapter.getColumnWeight(i));
header.addView(headerCell, params);
}
rowNumber.setText("10");
pageNumbers.setText("1-" + adapter.getItemCount() + " of " + adapter.getItemCount());
}
}