Android Open Source - mezzofanti Language Dialog






From Project

Back to project page mezzofanti.

License

The source code is released under:

Apache License

If you think the Android project mezzofanti listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2008 Google Inc.//from w  w w .  j ava 2s  . c o m
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.itwizard.mezzofanti;

import static android.view.ViewGroup.LayoutParams.FILL_PARENT;
import com.itwizard.mezzofanti.Languages.Language;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ScrollView;

/**
 * This dialog displays a list of languages and then tells the calling activity which language
 * was selected. 
 */
public class LanguageDialog extends AlertDialog implements OnClickListener 
{
    private LDActivity mActivity;
    private boolean mFrom;
  private static final String TAG = "MLOG: LanguageDialog.java: ";

    /**
     * Interface that allows to use the LanguageDialog by any other class (ex: TranslateActivity and PreferencesActivity)
     */
    public interface LDActivity 
    {
      void SetNewLanguage(Language language, boolean from);      
    };

    /**
     * constructor
     * @param activity the parent activity 
     */
    protected LanguageDialog(LDActivity activity) 
    {
        super((Activity)activity);

        mActivity = activity;

        LayoutInflater inflater = (LayoutInflater) ((Activity)activity).getSystemService(
            Context.LAYOUT_INFLATER_SERVICE);
        ScrollView scrollView = (ScrollView) inflater.inflate(R.layout.language_dialog, null);
        setView(scrollView);
        
        LinearLayout layout = (LinearLayout) scrollView.findViewById(R.id.languages);
        
        LinearLayout current = null;
        Language[] languages = Language.values();
        for (int i = 0; i < languages.length; i++) {
            if (current != null) {
                layout.addView(current, new LayoutParams(FILL_PARENT, FILL_PARENT));
            }
            current = new LinearLayout((Activity)activity);
            current.setOrientation(LinearLayout.HORIZONTAL);
            Button button = (Button) inflater.inflate(R.layout.language_entry, current, false);

            Language language = languages[i];
            language.configureButton((Activity)mActivity, button);
            button.setOnClickListener(this);
            current.addView(button, button.getLayoutParams());
        }
        if (current != null) {
            layout.addView(current, new LayoutParams(FILL_PARENT, FILL_PARENT));
        }
        setTitle(" ");  // set later, but necessary to put a non-empty string here
    }

    public void onClick(View v) 
    {
        mActivity.SetNewLanguage((Language) v.getTag(), mFrom);
        Log.v(TAG,"Language " + v.getTag().toString());
      dismiss();
    }

    /**
     * Set the from field - indicates "translate-from" / "translate-in" 
     * @param from true="translate-from" / false="translate-in"
     */
    public void SetFrom(boolean from) 
    {
        Log.v(TAG, "From set to " + from);
        mFrom = from;
        setTitle(from ? R.string.languagedialog_translateFrom : R.string.languagedialog_translateIn); 
    }
    
}




Java Source Code List

com.itwizard.mezzofanti.AssetsManager.java
com.itwizard.mezzofanti.CameraManager.java
com.itwizard.mezzofanti.CaptureLayout.java
com.itwizard.mezzofanti.CustomImageButton.java
com.itwizard.mezzofanti.DownloadManager.java
com.itwizard.mezzofanti.InstallActivity.java
com.itwizard.mezzofanti.LanguageDialog.java
com.itwizard.mezzofanti.Languages.java
com.itwizard.mezzofanti.Maps.java
com.itwizard.mezzofanti.Mezzofanti.java
com.itwizard.mezzofanti.OCR.java
com.itwizard.mezzofanti.OnScreenHint.java
com.itwizard.mezzofanti.PreferencesActivity.java
com.itwizard.mezzofanti.ResultsActivity.java
com.itwizard.mezzofanti.TranslateActivity.java
com.itwizard.mezzofanti.Translate.java