Started refactoring the code

At present the code won't compile, this is just an end-of-day commit

AxisDetails contains two new classes ScaleAxisDetails and AxisAxisDetails, these will contian all the options prior to pressing.

At the moment I'm focusing on the Scale tab migrating all the controls and signals into the new object. At the same time i've renamed most of the controls slightly to reflect what kind of widget they are.

Refs #7865
Code now compiles, still not working though

Working on refactoring the code. At present I've ported the code into the ScaleAxisDetails class that deals with crating the UI and populating them.

Next I'll be altering the Dialog to actually use the class when populating itself.

I have found a bunch of functions that don't seem to do anything so they're disabled until i can find out if they actually do something

Refs #7865
Committing to github due to having to reinstall VirtaulBox

The VM I've been fixing this ticket in has developed a problem and i need to reinstall it, so i'm pushing my changes to back them up.

The code is not fixed as I was tryign to find the source of some unexpected behavior before this OS problem occured

Refs #7865
Added QStackedLayout to Scale, reodered functions, started Axes

Solved the core issue in teh scale tab and now moving to do the same in the axes tab.

Reordered the functions in AxesDailog to make more sense and to group related functions together as i'll be mergin/deleting a load when i get to rewriting the newly renamed Apply() (formerly UpdatePlot())

refs #7865
Both tabs now save their values between switches

I've fixed the core issue, now i'm onto writing the apply methods for both and making sure the whole dialog opperates like the user would expect.

Refs #7865
Split AxisDeatils into separate files for each class.

AxisDetails.h and .cpp have been split into AxisAxisDetails and ScaleAxisDetails .h and .cpp like they really should ehve been form the beginning.

Refs #7865
Added a "modified" signal to TextFormatButtons

As i'm not sure that the edits done to the text feild by TextFormatButtons, i've added a signal that will fire if anything in it is clicked as if to say "the formatting has been changed"

Refs #7865
Axis tab now applys, continuing work on scale tab

Added the modified and valid flags to both classes in order to streamline applying.

AxisAxisDetials is now pessing chages to the graph, but the section in AxesDialog is not complete and the code there is just for testing.

Refs #7865
Discovered Grid tab had the same problem

Added a new class GridDetails, as the Grid tab has a similair problem to the Scale and Axis tabs. So i plan to solve it in the same way.

Refs #7865
Changed names, got 3 sections working

ScaleAxis- and AxisAxis- Details have had their anmes changed on martyn's suggestion
Scale, Axis and Grid tabs are now working and pressing changes to the graph
The grid tab has had some structural changes so it makes for sense and behavior can be inferred better.

Refs #7865
Getting rid of some old code

Just deleted some of the code i'd commented out while refactoring.

Also added some bits i missed to one of the apply methods

the next job is the general tab and valiadtion across all tabs needs polishing

Refs #7865
Finished Refactoring and fixing

Everyhting is fixed as far as i can tell. I'm now preparing it for testing, but due to concerns aobut how long some things have taken I'm going to run it through some profiling tools first.

Refs #7865
Fixed up formatting and style

Made a load of variable names more descriptive and in line wiht the coding standards.

A load of abmiguous If and swtich statements have been made less so.

Removed my comment notes that weren't needed any more.

Refs #7865
Fished documenting for doxygen

Added doxygen parseable comments for all methods in the classes i've been working on

Refs #7865
fixed a couple fo copy/paste errors

A couple fo bits of documentation were wrong due to copy/paste erros, fixed them.

Refs #7865
Fixed compiler warning

stopped a gcc compiler warning complaing about an unused variable

Refs #7865
Stopped flicker on dialog open

Martyn noticed window flicker when the dialog was started, this seemed to be because of a delay between the QStackLayout being initialised and beng added to the dialog. They are now added as soon as they can be after initalisation.

Refs #7865
Focus given to clicked button

Hopefully this change in focus on click should fire the signals that weren't being fired on Mac before.

Refs #7865
Fixed issues highlighted by tester

Fixed the first 3, and may have inevertantly fixed the 4th, of the issues highlighted by gesner.

ScaleDetails had a wrong widget name thus was defauting to its else case.

AxisDetails has had an opperator [] change to a .push_bach()

GridDetails had a defualt value check with the wrong boolean opperator

Refs #7865
fixed one problem, not the other

Fixed the date/time problem, not got the grid combo box working

refs #7865