package com.openfarmanager.android.fragments; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.ViewFlipper; import com.openfarmanager.android.App; import com.openfarmanager.android.R; import com.openfarmanager.android.adapters.LinesAdapter; import static com.openfarmanager.android.controllers.EditViewController.*; /** * Toolbar for file viewer */ public class ViewerToolbar extends Fragment { private Handler mHandler; private View mRootView; private float mDensity; private int mFontSize; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mDensity = getResources().getDisplayMetrics().density; mFontSize = App.sInstance.getSettings().getBottomPanelFontSize(); mRootView = inflater.inflate(R.layout.viewer_toolbar, container, false); mRootView.findViewById(R.id.save).setEnabled(false); return mRootView; } @Override public void onStart() { super.onStart(); addClickHandler(R.id.search, SEARCH); addClickHandler(R.id.replace, REPLACE); addClickHandler(R.id.save, SAVE); addClickHandler(R.id.edit, EDIT); addClickHandler(R.id.go_to, GOTO); addClickHandler(R.id.encoding, ENCODING); mRootView.requestLayout(); } public void addClickHandler(final int id, final int msg) { TextView view = (TextView) mRootView.findViewById(id); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { sendMessage(msg); } }); view.setTextSize(TypedValue.COMPLEX_UNIT_SP, mFontSize); view.setHeight((int) ((6 + 2 * mFontSize) * mDensity)); view.setTypeface(App.sInstance.getSettings().getMainPanelFontType()); } public void setTextChanged(boolean isTextChanged) { String save = App.sInstance.getString(R.string.btn_save); ((TextView) getView().findViewById(R.id.save)).setText((isTextChanged ? "* " : "") + save); } public void setHandler(Handler handler) { mHandler = handler; } private void sendMessage(int what) { if (mHandler != null) { mHandler.sendEmptyMessage(what); } } public void changeEditTextMode(int mode) { mRootView.findViewById(R.id.save).setEnabled(mode != LinesAdapter.MODE_VIEW); ((TextView) mRootView.findViewById(R.id.edit)).setText(App.sInstance.getString(mode == LinesAdapter.MODE_VIEW ? R.string.action_edit : R.string.action_view)); } public void setBigFileMode(boolean visible) { mRootView.findViewById(R.id.edit).setVisibility(visible ? View.VISIBLE : View.GONE); mRootView.findViewById(R.id.save).setVisibility(visible ? View.VISIBLE : View.GONE); mRootView.findViewById(R.id.replace).setVisibility(visible ? View.VISIBLE : View.GONE); } }