001/*
002 * To change this template, choose Tools | Templates
003 * and open the template in the editor.
004 */
005package org.anarres.qemu.exec;
006
007import java.util.List;
008import javax.annotation.Nonnull;
009
010/**
011 *
012 * @author shevek
013 */
014public class QEmuKeyboardOption extends AbstractQEmuOption {
015
016    public static enum Layout {
017
018        ar("ar"),
019        da("da"),
020        de("de"),
021        de_ch("de-ch"),
022        en_gb("en-gb"),
023        en_us("en-us"),
024        es("es"),
025        et("et"),
026        fi("fi"),
027        fo("fo"),
028        fr("fr"),
029        fr_be("fr-be"),
030        fr_ca("fr-ca"),
031        fr_ch("fr-ch"),
032        hr("hr"),
033        hu("hu"),
034        is("is"),
035        it("it"),
036        ja("ja"),
037        lt("lt"),
038        lv("lv"),
039        mk("mk"),
040        nl("nl"),
041        nl_be("nl-be"),
042        no("no"),
043        pl("pl"),
044        pt("pt"),
045        pt_br("pt-br"),
046        ru("ru"),
047        sl("sl"),
048        sv("sv"),
049        th("th"),
050        tr("tr");
051        private final String layoutName;
052
053        private Layout(String layoutName) {
054            this.layoutName = layoutName;
055        }
056
057        @Nonnull
058        public String getLayoutName() {
059            return layoutName;
060        }
061
062        @Override
063        public String toString() {
064            return name() + "(" + getLayoutName() + ")";
065        }
066    }
067    private final Layout layout;
068
069    public QEmuKeyboardOption(@Nonnull Layout layout) {
070        this.layout = layout;
071    }
072
073    @Override
074    public void appendTo(List<? super String> line) {
075        add(line, "-k", layout.getLayoutName());
076    }
077}