You are browsing as a guest. Sign up (or log in) to start making projects!

Monochrome text editor

  • 8 Devlogs
  • 35 Total hours

I’m making my very own text editor in C++! It’s based on raylib and it will use raygui for the GUI. The name of my editor is Monochrome!

Ship #1 Pending review

I made my first ever text editor entirely in C++!

Monochrome is a light-weight text editor made entirely in C++ thanks to the raylib and raygui library!
It has basic features such as file loading, saving, editing, scroll panel, file renaming and a file dialog to choose what file to load!

It was a bit challenging since it required a lot of knowledge to know how to show text, store it, load and save the files. Especially making the GUI since it needs to have anchors, have a kinda dynamic layout if I resize the window. But I still manage to do it!

I’m proud of what I made and I hope that other people would love this project as much as I do, as I find pretty interesting how text editor works!

One thing that people should know before trying is that macOS is NOT currently supported and it probably won’t work at ALL.
I don’t have a Mac to test it on so I don’t wanna risk it.. Sorry about it.

Thanks for everything and I hope that you’ll like my project!

  • 8 devlogs
  • 35h
Try project → See source code →
Open comments for this post

3h 53m 39s logged

It’s time!!

Okay it’s finally time to get everything ready and ship it!!

And finally.. name reveal!
Monochrome Text Editor!!

The reason for this name? No clue. I actually had no idea how to call it.. and while looking around the room I noticed a notebook of mine. It’s from a brand called Monocromo here in Italy, and it literally translate into Monochrome.. So I just decided to go for that randomly, lol.

Anyway, I’m so happy to have finally finished my project! Hope it’ll get reviewed in time to get something from the shop.

Thanks for everything and thank you Hack club for this incredible event!

0
0
3
Open comments for this post

4h 51m 9s logged

Day 7 - ALMOST DONEE

Worked a lot again and I’m BASICALLY DONE YEAHHH!!!

I just need to clean up some things, fix parts of the GUI that are still bad and then do a quick clean up of the project folder since it’s ass ❤️

Anyway, I managed to add a file dialog option to choose what file to load (taken from raygui examples, ty raysan..) but I didn’t manage to add some basic features… such as copy and paste (mainly because I’m not sure if I can manage in time even because it would imply adding text selection…

I’ll work on fixing these things first and then I’ll think about adding Copy and paste, maybe even an option to Rename the file.. but I don’t know..

OH YEAH, I also managed to add a scrolling bar so it’s a great advancement!

About AI disclosure, I forgot to talk about it… I used some AI just for debugging the scrolling bar and I think I’ll use it to fix the CMakeLists.txt .
I want to try and also ship this project to Linux, since I have a burner laptop that I can use to test if it works! So I’ll probably get a help from AI to set up GitHub Actions too. I never used it..

(I’m sorry for Mac users but I have no idea how to build for your platform and I don’t have any Mac to try it by myself first.. So I’m probably skipping it.)

0
0
2
Open comments for this post

6h 47m 53s logged

Day 6 - Am I cooked?

Okay, so I’ve been working a lot on the project these days and I’m proud to say that I managed to get Save and File loading working yayyy!1!1!

OK NOW I GOTTA LOCK IN REAL FAST FOR THE NEW GUI.

Gui rework 2???

Yeah exactly, working on a new and already (almost) functional GUI.

It’s almost done cause I need to connect all the features and make it actually work.

I also managed to add a file dialog to choose what file to load, but I didn’t create it. It’s an example made from raysan on the examples from raygui! It’s so pretty and works really good.

So like I said, I just need to connect all the features together and I’m ready to ship it! (Gotta be fast since Stardance is ending in 2 days.. oh god.)

Almost forgot.. I STILL NEED TO WRITE THE DAMN README.md :cryin:

Small notice, in the second screenshot, there’s an option in the little panel called “Save file as”, I’ll probably won’t add it in the ship cause I have no idea how to do it at the moment..

0
0
11
Open comments for this post

2h 11m 22s logged

Day 5 - First GUI Rework!!

I was a bit busy so I didn’t post a devlog yesterday, but anyway..
I FINALLY DID THE FIRST GUI REWORK!!!

It took some time to plan and layout everything and it’s still not perfect. I’ll keep working onto it and make it better. I wanted to make a better one real quick just because I was bored.
Useless to say, I’m using Raygui (again) for the GUI!

I know that there are probably better libraries but I really love all the raylib ecosystem and I just want to learn even more about it!

Thank god the creatore of raygui made a layout software for it, otherwise it would have been a PAIN to make everything look good.
Anyway, like I said, everything is still a WORK IN PROGRESS.

What’s next?

Now, it’s time to work on file loading, saving, editing and creating!

After that, I’ll probably work on the GUI again since I want to add styles, some menus and other things.
I’m not sure if I’ll add more things after the GUI, I’m not sure cause Stardance is ending soon so I want to ship a working software before it ends so I’ll have to be fast.
I’ll keep working on this project anyway cause I’m starting to love it a lot so I want to make it even better!

SCREENSHOTSSS!!! YEAH

0
0
14
Open comments for this post

4h 33m 25s logged

Day 4 - WE ARE SO BACK

Okay, it’s been like… 27 days…
I know yeah, I was quite busy and didn’t pay attention at stardance at all. But I kept working on the project from time to time

But now.. I decided to finally lock in!
After some time, I finally managed to get it work nicely and has basic functions!

MULTI LINE TEXT!!!

Hell yeah! I can finally write multi line text without problems!
It should work good but could give some errors from time to time. Not sure..

Anyway, I also added a cursor, two debug optiosn to just see the actual cursor position cause on the screen it shows the value + 1 and then a way to see the grid where the text goes!

I also added the space when you press Tab (need to adjust it cause I think it’s not the right way to implement it)

Another thing I added is the possibility to move the cursor with the arrow keys!

And that’s pretty much all for now… yeah.

What I’m working on now?

Now, I’ll start working on a way to add the scrollbar, maybe a way to select with the mouse where the cursor go and maybe I’ll start adding a way to create, edit and save files… Hope I’ll do it in time.

Oh, also I’ll start working on a GUI hopefully. As of now it’s basically ass and it’s only with a light theme. If I manage, I could try to add dark theme.

Thank you for everything!
Here’s some screenshot of the program!

0
0
10
Open comments for this post

4h 38m 8s logged

Day 3 - It’s almost here..

Okay.. since I went back to school I didn’t have time and even forgot to do devlogs to be fair. Yeah I know.. I’m lazy and pretty forgetful..

BUT WORRY NOT AS STARDANCE HAS BEEN EXTENDED UNTIL 31st OF OCTOBER!!

So I have enough time to continue, polish off and ship this project of mine!

Anyway, even though I haven’t made any significant devlog, it doesn’t mean I haven’t done anything… Actually, I managed to refactor pretty much the entire code to use OOP and classes! yayyy!

Somehow I managed to learn the basics of OOP and as of now it’s actually quite nice and easier to work with, I guess.

Other than that.. I’m actually even closer to get it done than ever! As of now, I’m writing a TextBuffer class that will handle all of the attributes and methods regarding the text modification!
There’s still a lot to add but eventually, I’m getting there…

In the next devlogs I’ll try and explain the structure more and maybe, if I’m not lazy, in about 3-4 devlogs I might actually be able to finish the TextBuffer class and could easily write multi-line text!!! (Devlogs will probably start again from monday cause Im too busy this weekend.)

See y’all on the next devlog!

0
0
15
Open comments for this post

2h 23m 34s logged

Day 2 - I honestly don’t know

Okay. It’s been 4 days and I haven’t made too much progress since I was busy doing things and I need to go back to school tomorrow so I’m going to be even more busier.

Quick recap

What did I do? I’m trying to actually make the user be able to write… It kinda worked at the start, but only in one line so know I’m trying to figure out a way to do multiple lines as it should.

Rewriting the entire code

And I’m also deciding if I should rewrite the entire code to use OOP and check if it’s better but it’s going to be a pain. Even because I never used OOP in C++ to be fair but I’m gonna give it a try anyway.

Respectfully? I’m going crazy

0
0
18
Open comments for this post

5h 30m 17s logged

Day 1 - First devlog!!

And just like I said before… There we are with my new project!! Yayy!

My custom text editor!

The project will be a simple text editor coded in C++!
Since I still want to work on raylib, it will be based on that, cause I don’t want to learn OpenGL yet and do everything from 0… And even because I truly love the raylib library!

Features?

So, at this moment I’m still not sure of what I’m gonna add so I’ll start listing the features once I have a decent base of the project since it’s still a mess!
If you have any idea or feature that you’d like, please, don’t hesitate to request it! I’m open to feedback of all kind! So just make a comment or shoot a DM!

Why a text editor?… Isn’t that quite difficult?

Yeah.. It is, as a matter of fact, with this devlog I logged about 5h 27mins cause nothing worked at first and there’s basically nothing. I can just press Enter and Backspace to add and remove lines. That’s all.

But being a programmer is a journey that never ends. You never stop learning new things, especially from the start, or at least this is my opinion.

I don’t care if the project is messy, bad, unoptimized and probably worse compared to others! My goal is to learn to make better things, and the only way to do it is to create things and push yourself even harder.

Being a programmer is something that I truly love and I’m always looking to get better and learn new things, especially as a beginner. Even if it means trying to make hard projects like this one and maybe failing..

But I don’t see it as a failure, I see it as a way to get better and improve myself. And I truly hope that everyone can do the same.
Do whatever you want and always believe in yourself.

Last thing

Alright, enough with the speech and let’s put and end to this devlog. I’ll work on creating the repo later and I’m gonna show a screenshot of the status of the project at this exact moment!
Another thing… You may have notice that the project’s name has “untitled”, that’s because I don’t have a name for my software..
So please, if you have any suggestion on the name write them on the comments!

Thank you everyone and see y’all on the next devlog!

0
0
17

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…