App
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mhr.app.fragments.toolbox.ToolBoxPaneFragment Class Reference

Třída, co má na starosti umožněnit uživateli volbu nástrojů a jejich nastavení. More...

Inheritance diagram for mhr.app.fragments.toolbox.ToolBoxPaneFragment:

Public Member Functions

void changeVisibility ()
 Změní viditelnost toolBoxToolbarContent, což efektivně znamená minimalizaci panelu.
 
void onClick (View v)
 
void onAttach (Activity activity)
 
View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
 

Protected Member Functions

View initView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
 Inicializuje View - exrtahované funkce z onCreateView()
 
void addTool (int id, int imageId, int nameId, Fragment settingsFragment)
 Přidá nástroj do toolBoxu a nastaví tento fragment jako onClickListener.
 
void showToolSettings (int toolId)
 Vytvoří a zobrazí fragment sloužící k nastavení daného nástroje.
 
void selectTool (int newId)
 Provede výběr nástroje. Nástroj o požadovaném id se stane aktivním, zobrazí se jeho nastavení.
 

Protected Attributes

int selectedToolId
 id vybraného nástroje. Id se přiděluje při kompilaci systémem androidích zdrojů.
 
int selectedToolBackgroundColor
 Barva pozadí určující vybraný nástroj.
 
View root
 Kořenový View tohoto fragmentu.
 
ViewGroup toolBox
 ViewGroup, který obsahuje jednotlivé nástroje.
 
ViewGroup toolBoxToolbarContent
 ViewGroup, který obsahuje pruh s nástroji i jejich volbami a nastavením jeho viditelností se dosahuje skrytí toolbaru.
 
LayoutInflater inflater
 Reference na Inflater.
 
AppMainActivity activity
 Reference na hlavní aktivitu aplikace.
 
SparseArray< Fragment > fragments = new SparseArray<Fragment>()
 Udržuje cachované fragmenty s nastavením jednotlivých nástrojů.
 
boolean firstCreated = true
 

Detailed Description

Třída, co má na starosti umožněnit uživateli volbu nástrojů a jejich nastavení.

Definition at line 23 of file ToolBoxPaneFragment.java.

Member Function Documentation

void mhr.app.fragments.toolbox.ToolBoxPaneFragment.addTool ( int  id,
int  imageId,
int  nameId,
Fragment  settingsFragment 
)
inlineprotected

Přidá nástroj do toolBoxu a nastaví tento fragment jako onClickListener.

Parameters
id
imageId
nameId

Definition at line 94 of file ToolBoxPaneFragment.java.

{
ViewGroup item = (ViewGroup) inflater.inflate(R.layout.toolbox_item, null);
item.setId(id);
((ImageView) item.findViewById(R.id.ToolBoxItemImage)).setImageResource(imageId);
((TextView) item.findViewById(R.id.ToolBoxItemName)).setText(nameId);
item.setOnClickListener(this);
toolBox.addView(item);
fragments.put(Integer.valueOf(id), settingsFragment);
}
void mhr.app.fragments.toolbox.ToolBoxPaneFragment.changeVisibility ( )
inline

Změní viditelnost toolBoxToolbarContent, což efektivně znamená minimalizaci panelu.

Definition at line 139 of file ToolBoxPaneFragment.java.

{
if (toolBoxToolbarContent.getVisibility() == View.VISIBLE) {
toolBoxToolbarContent.setVisibility(View.GONE);
} else {
toolBoxToolbarContent.setVisibility(View.VISIBLE);
}
}
View mhr.app.fragments.toolbox.ToolBoxPaneFragment.initView ( LayoutInflater  inflater,
ViewGroup  container,
Bundle  savedInstanceState 
)
inlineprotected

Inicializuje View - exrtahované funkce z onCreateView()

Parameters
inflater
container
savedInstanceState
Returns

Definition at line 54 of file ToolBoxPaneFragment.java.

{
root = inflater.inflate(R.layout.fragment_toolbox_pane, container, false);
selectedToolBackgroundColor = getResources().getColor(R.color.SelectedToolBackground);
toolBox = (ViewGroup) root.findViewById(R.id.ToolBox);
toolBoxToolbarContent = (ViewGroup) root.findViewById(R.id.ToolBoxToolbarContent);
toolBox.removeView(toolBox.findViewById(android.R.id.empty)); // Odstranění View, které se zobrazí v případě prázdného layoutu a je jen pro návrhové účely
//===================================================================================================================================================//
// ZDE DOJDE K PŘIDÁNÍ JEDNOTLIVÝCH NÁSTROJŮ A NASTAVENÍ CALLBACKU
//===================================================================================================================================================//
// addTool(R.id.ToolDebug, R.drawable.tool_generic_ico, R.string.DebugToolLabel, new DebugToolSettingsFragment());
addTool(R.id.ToolFileOperations, R.drawable.tool_file_operations_ico, R.string.ToolFileOperationsLabel, new FileOperationsToolSettingsFragment());
addTool(R.id.ToolNavigation, R.drawable.tool_navigation_ico, R.string.ToolNavigationLabel, new NavigationToolSettingsFragment());
addTool(R.id.ToolBrush, R.drawable.tool_generic_ico, R.string.ToolBrushLabel, new BrushToolSettingsFragment());
addTool(R.id.ToolAlphaBrush, R.drawable.tool_generic_ico, R.string.ToolAlphaBrushLabel, new AlphaBrushToolSettingsFragment());
addTool(R.id.ToolPointOperationBrush, R.drawable.tool_generic_ico, R.string.ToolPointOperationBrushLabel, new PointOperationBrushToolSettingsFragment());
addTool(R.id.ToolGeometricTransformation, R.drawable.tool_generic_ico, R.string.ToolGeometricTransformationLabel, new GeometricTransformationToolSettingsFragment());
addTool(R.id.ToolFilter, R.drawable.tool_generic_ico, R.string.ToolFilterLabel, new FilterToolSettingsFragment());
addTool(R.id.ToolPointOperation, R.drawable.tool_generic_ico, R.string.ToolPointOperationLabel, new PointOperationToolSettingsFragment());
//===================================================================================================================================================//
// Zvýraznění defaultního nástroje a jeho nastavení jako vybraného
toolBox.findViewById(R.id.ToolFileOperations).setBackgroundColor(selectedToolBackgroundColor);
selectedToolId = R.id.ToolFileOperations;
showToolSettings(R.id.ToolFileOperations);
root.findViewById(R.id.ToolBoxToolbarBorder).setOnClickListener(this);
root.findViewById(R.id.ToolBoxCaptionTV).setOnClickListener(this);
root.findViewById(R.id.UndoRedoBtn).setOnClickListener(this);
return root;
}
void mhr.app.fragments.toolbox.ToolBoxPaneFragment.onAttach ( Activity  activity)
inline

Definition at line 170 of file ToolBoxPaneFragment.java.

{
super.onAttach(activity);
/*
* called once the fragment is associated with its activity.
*/
this.activity = (AppMainActivity) activity;
inflater = activity.getLayoutInflater();
}
void mhr.app.fragments.toolbox.ToolBoxPaneFragment.onClick ( View  v)
inline

Definition at line 149 of file ToolBoxPaneFragment.java.

{
int id = v.getId();
switch (id) {
case R.id.ToolBoxToolbarBorder: // Minimalizace panelu
return;
case R.id.ToolBoxCaptionTV:
return;
case R.id.UndoRedoBtn:
activity.addCommand(new ApplyUndoPatchCommand());
return;
default:
break;
}
selectTool(id); // Ostatní události patří nástrojům
}
View mhr.app.fragments.toolbox.ToolBoxPaneFragment.onCreateView ( LayoutInflater  inflater,
ViewGroup  container,
Bundle  savedInstanceState 
)
inline

Definition at line 191 of file ToolBoxPaneFragment.java.

{
// return super.onCreateView(inflater, container, savedInstanceState);
/*
* creates and returns the view hierarchy associated with the fragment.
*
* The system calls this when it's time for the fragment to draw its user interface for the first time. To draw a UI for your fragment, you must return a
* View from this method that is the root of your fragment's layout. You can return null if the fragment does not provide a UI.
*
* Zde začíná životní cyklus při návratu z backstacku
*/
if (firstCreated) {
firstCreated = false;
return initView(inflater, container, savedInstanceState);
} else {
return root;
}
}
void mhr.app.fragments.toolbox.ToolBoxPaneFragment.selectTool ( int  newId)
inlineprotected

Provede výběr nástroje. Nástroj o požadovaném id se stane aktivním, zobrazí se jeho nastavení.

Parameters
newId

Definition at line 125 of file ToolBoxPaneFragment.java.

{
if (newId == selectedToolId) {
return;
}
toolBox.findViewById(selectedToolId).setBackgroundColor(0x00000000);
toolBox.findViewById(newId).setBackgroundColor(selectedToolBackgroundColor);
selectedToolId = newId;
}
void mhr.app.fragments.toolbox.ToolBoxPaneFragment.showToolSettings ( int  toolId)
inlineprotected

Vytvoří a zobrazí fragment sloužící k nastavení daného nástroje.

Parameters
toolId

Definition at line 113 of file ToolBoxPaneFragment.java.

{
Fragment f;
f = fragments.get(toolId);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.ToolSettingPlaceholder, f);
ft.commit();
}

Member Data Documentation

AppMainActivity mhr.app.fragments.toolbox.ToolBoxPaneFragment.activity
protected

Reference na hlavní aktivitu aplikace.

Definition at line 38 of file ToolBoxPaneFragment.java.

boolean mhr.app.fragments.toolbox.ToolBoxPaneFragment.firstCreated = true
protected

Definition at line 41 of file ToolBoxPaneFragment.java.

SparseArray<Fragment> mhr.app.fragments.toolbox.ToolBoxPaneFragment.fragments = new SparseArray<Fragment>()
protected

Udržuje cachované fragmenty s nastavením jednotlivých nástrojů.

Definition at line 39 of file ToolBoxPaneFragment.java.

LayoutInflater mhr.app.fragments.toolbox.ToolBoxPaneFragment.inflater
protected

Reference na Inflater.

Definition at line 37 of file ToolBoxPaneFragment.java.

View mhr.app.fragments.toolbox.ToolBoxPaneFragment.root
protected

Kořenový View tohoto fragmentu.

Definition at line 34 of file ToolBoxPaneFragment.java.

int mhr.app.fragments.toolbox.ToolBoxPaneFragment.selectedToolBackgroundColor
protected

Barva pozadí určující vybraný nástroj.

Definition at line 32 of file ToolBoxPaneFragment.java.

int mhr.app.fragments.toolbox.ToolBoxPaneFragment.selectedToolId
protected

id vybraného nástroje. Id se přiděluje při kompilaci systémem androidích zdrojů.

Definition at line 31 of file ToolBoxPaneFragment.java.

ViewGroup mhr.app.fragments.toolbox.ToolBoxPaneFragment.toolBox
protected

ViewGroup, který obsahuje jednotlivé nástroje.

Definition at line 35 of file ToolBoxPaneFragment.java.

ViewGroup mhr.app.fragments.toolbox.ToolBoxPaneFragment.toolBoxToolbarContent
protected

ViewGroup, který obsahuje pruh s nástroji i jejich volbami a nastavením jeho viditelností se dosahuje skrytí toolbaru.

Definition at line 36 of file ToolBoxPaneFragment.java.


The documentation for this class was generated from the following file: