Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+2)

Everything ahmwma pointed out is a great place to start!

Decker is a very flexible medium, so there are many ways one could go about building something rolodex-like. I thought it might be useful to demonstrate one possible approach. In the video below I'll build a very simple card file without writing any code. Note that for the sake of expediency I use keyboard shortcuts to copy and paste (ctrl+c/ctrl+v as usual), navigate the deck (arrow keys), and I double-click widgets while in "Widget" mode to edit their properties.


  • I begin by turning on the toolbars (to save myself some clicks) and start a new deck.
  • Import the "Deckbuilder" font from the "fontedit.deck" example to make a nice title.
  • I Make a new card, and create some fields with information about my first contact, Lily. I can drag-and-drop images I've prepared previously into Decker.
  • To make it easy to get back to the title card, I create a button and use the "Action..." dialog to make clicking on that button take me to the first card in the deck.
  • I can then manually make a copy of Lily's card and replace all the info with relevant details for my next contact, Phinxel.
  • To make the deck searchable, I copy and paste in the SearchEngine contraption, which lets me search the text content of all the widgets in each card and produces a clickable link to cards which match my search term.
  • In order to make the index a little bit more useful, I rename each of the cards to correspond to their heading.

I could then continue to refine the deck by adding a little bit of scripting to automate the process of creating new cards:


  • I make another duplicate of Lily's card, rename it "template" and hollow it out, taking care to give the field containing the heading a name so I can refer to it easily in the future.
  • Just to keep things organized, I move the template card to the second position in the deck.
  • On the title card, I make a new button and give it a script (shown below) which copies the template, prompts the user for a name, uses that input as the card name and heading field contents, and then navigates to the newly-minted card.
  • Using that button I now have a more streamlined workflow for duplicating cards.

The above script in copy-pasteable form:

on click do
 c:deck.paste[deck.copy[template]]
 n:alert["card name?" "string"]
 c.name:n
 c.widgets.name.text:n
 go[c]
end

There are lots of fancier ways to approach this sort of problem which we could get into, if you're interested, like using Contraptions to define rolodex cards as a standardized "form" that you can update in one place and keep a consistent style across all your entries, or using grids and Decker's query language to make more of a spreadsheet-like or "CRUD" application as demonstrated in the 5GUIs example.

The key thing to remember about Decker is that there doesn't need to be a hard separation between "writing an application" and "using an application"; the world is plastic, and it's fantastic!

Does any of this help point you in the right direction?