←  APIs and Utilities

ComputerCraft | Programmable Computers for Minecraft

»

LDDFM - An API-based file manager for your...

LDDestroier's Photo LDDestroier 19 Sep 2016

Way back when I first coded Whisk (or heck, even back when I had to use other people's file transfer programs), I kinda found it cumbersome to remember the names of files and type them into a prompt to send it or whatever. I know, a nitpick...but no longer!

(by the way I am listening to some epic music; forgive my glamour)

LDDFM


The idea is that it can be easily snuck into your program code so you can have the user select a file/folder with a file manager instead of through a read() prompt. Makes it way better.
One cool thing this does it that the whole interface can be fit into a rectangle (x1,y1,x2,y2), so you can slip the thing into an existing GUI!

I made this primarily for Whisk, but this can be used anywhere.

pastebin get wfdb986Z lddfm
std PB wfdb986Z lddfm

HOW TO USE: (recommended)
Spoiler

SCREENSHOTS:
Spoiler

In another update, I might add a text prompt in addition to the file select GUI.
When putting this in a program, feel free to strip any blank newlines or comments. I added them for clarity, mostly.
Edited by EldidiStroyrr, 20 September 2016 - 06:01 PM.
Quote

Lupus590's Photo Lupus590 19 Sep 2016

does it work on non-advanced?
Quote

LDDestroier's Photo LDDestroier 19 Sep 2016

 Lupus590, on 19 September 2016 - 12:47 PM, said:

does it work on non-advanced?

Afraid not. I bet I could just add an arrow-controlled cursor, but I'm currently working on getting the scrollbar to be dragable.
Quote

ReBraLaCC's Photo ReBraLaCC 19 Sep 2016

could you also add a filter for hidden files?
Quote

LDDestroier's Photo LDDestroier 19 Sep 2016

 ReBraLaCC, on 19 September 2016 - 01:27 PM, said:

could you also add a filter for hidden files?

Sure, even though that's not particularly useful, CTRL+H will be the toggle for hidden files in the next update!!
Quote

Dahknee's Photo Dahknee 19 Sep 2016

I have been waiting for this!!

Completely love it, my only question, is if you can also have another parameter where we can give it a table of colours :P So an example:
local theme = {
["background_colour"] = "white";
["folder_colour"] = "blue";
["menu_colour"] = "red";
}

// ^ example

local path = makeMenu(3, 3, 40, 11, "/", _, _, _, _, theme
);

So we could have colours for path display at the top right, path text colour, background colour, file colour, folder colour etc???

Also can you add a little close button also please? This would be awesome! Top-right or something?
Quote

Sewbacca's Photo Sewbacca 19 Sep 2016

I've don't seen the code, but I would love it, if i could give makeMenu a term object created by window.create (it would be usefull).
Quote

Sewbacca's Photo Sewbacca 19 Sep 2016

Okay, it is really nice.
I just typed in lua:
local sPath = makeMenu()
while true do
  shell.run('edit', sPath)
  sPath = makeMenu(nil, nil, nil, nil, fs.getDir(sPath))
end

and i love it.
Nice work dude
=)
Sewbacca
Edited by Sewbacca, 19 September 2016 - 07:10 PM.
Quote

LDDestroier's Photo LDDestroier 20 Sep 2016

An update! Woo!
  • A palate can now be specified in the makeMenu() arguments (file txt/bg, folder txt/bg, path txt/bg, close button txt/bg, scrollbar colors)
  • You can toggle hidden files/folders with CTRL+H (defaults to hidden)
  • You can add an argument (the twelfth one) to add a close button
  • Fixed minor graphical bugs
  • Made makeMenu(true) return all argument names
And I'm putting it on the STD store list.

...oh, and uh, I tried to make the scrollbar dragable, but I couldn't remember how to do it. Even though STD-GUI has that. Mhm.
Quote

Sewbacca's Photo Sewbacca 21 Sep 2016

Sorry, but what is STD?
I hope that i didn't missed anything.

Sewbacca
Quote

LDDestroier's Photo LDDestroier 21 Sep 2016

STD is a file downloader that was made before wget was a default command. It downloads from pastebin, hastebin, codepad, and most importantly, from a premade list of programs and their URLs. Basically, I take programs on the forums and add them to this list, which STD downloads.

It's kinda like apt-get, but with only one repository. STD-GUI is the GUI version that just downloads programs from that list. You can look at the forum post too. There's a link in my profile page.


...It means 'Super Text Downloader', if you were curious.
Edited by EldidiStroyrr, 14 October 2016 - 02:07 AM.
Quote