For a 'classic' 3D terrain editor, the steps could be those:
Generate a mesh (e.g a grid of squares, every square made of two triangles), all vertices are shared between triangles (so that there is only one normal per intersection).
This should be made a 3DMesh and rendered in your program.
Make a tool to raise and lower (smaller and bigger) parts of the grid (you need to calculate where on the mesh the mouse cursor is and modify the meshes vertices, but only up and down).
Create a big texture (like 1024x1024x4 or better) and texture it with what is called a splat-map:
Make it possible to paint it (with R,G,B OR Alpha, not pink for example) and to choose textures replacing those ugly primary colours (Red,Blue, Green, Alpha), or moreover, be represented by them:
The shader (that you will need to create) should multiply those nice textures (say stone, grass, ...) with the intensity in the splatmap (the ugly one) and then mix together the whole so it looks, for example (with like only 2 colours), like this:
Sorry for the big images, I whipped together this at work...