12.2. Example: Creating a Menu with Lua
Prev | Chapter 12. Lua Support in Wireshark | Next

## 12.2. Example: Creating a Menu with Lua

The code below adds a menu "Lua Dialog Test" under the Tools menu. When selected, it opens a dialog prompting the user for input and then opens a text window with the output.

    -- Define the menu entry's callback
    local function dialog_menu()
        local function dialog_func(person,eyes,hair)
            local window = TextWindow.new("Person Info");
            local message = string.format("Person %s with %s eyes and %s hair.", person, eyes, hair);
            window:set(message);
        end

        new_dialog("Dialog Test",dialog_func,"A Person","Eyes","Hair")
    end

    -- Create the menu entry
    register_menu("Lua Dialog Test",dialog_menu,MENU_TOOLS_UNSORTED)

    -- Notify the user that the menu was created
    if gui_enabled() then
       local splash = TextWindow.new("Hello!");
       splash:set("Wireshark has been enhanced with a useless feature.\n")
       splash:append("Go to 'Tools->Lua Dialog Test' and check it out!")
    end

Prev | Up | Next
Chapter 12. Lua Support in Wireshark | Home | 12.3. Example: Dissector written in Lua