Page View

Book table

Solar2D/main.lua is loaded with editing true, it will show book and page tables.

the books are listed from Solar2D > App folder

If you like to filter some books out of the list, edit App/bookstore.lua

local M = {
  bookignored = {"book1", "mybook", "kwikTheCat"}
}

main.lua and Icons

main.lua

Click the text lable, main.lua is opened in Visual Studio Code(vscode)

Icons

Page lock

you can click lock icon on the top of page table. When the simulator is reloaded, it will navigate to the locked page for editing.

  • not locked

  • locked

Add Page

  • Input page name

    App/book/index.lua has the list of page table

    local scenes = {
      "page1",
      "page2",
      "page3",
      "page4",
      "myNewPage",
    }
    return scenes

Trash

current page will be removed.

Context Menu

book name

  • Rename
  • Delete
  • In vscode

page name

if you right-click a page in page table, it will show the context menu

  • New

    adds a new page

  • Rename

    renames the current page

  • Edit

    (TODO) edit the page properties

  • In vscode

    index.lua is show.

  • Copy

    copies the current page

  • Paste

    creates page_copied. Please use Rename to change the name

  • Delete

    deletes the page

In vscode

index.lua is opened in visual studio code. You can use vs code alt + arrow up/down to change the order of layers by moving up/down layer’s line.

  • App/book/components/index.lua

    local sceneName = ...
    --
    local scene =
      require("controller.scene").new(
      sceneName,
      {
        --name = "landscape",
        components = {
          layers = {
            {
              background = {
                class = {}
              }
            },
            {
              bg = {
                class = {}
              }
            },
            {
              copyright = {
                class = {}
              }
            },
            {
              GroupA = {
                class = {}
              }
            },
            {
              star = {
                class = {}
              }
            },
            {
              hello = {
                class = {}
              }
            }
          },
          audios = {},
          groups = {},
          timers = {},
          variables = {},
          joints = {},
          page = {}
        },
        commands = {},
        onInit = function(scene)
          --print("onInit")
        end
      }
    )
    --
    return scene