RPL Viewer architecture -- Suggested new C++ class name changes.
Phil, 7-30-2017, Revised: 7-31-2017.

Last week, the full implementations of RplBlockDlg and RplFunctionDlg (QMainWindows) were moved to new QFrame-based classes. Those new classes' names included "Frame" (...DlgFrame). That's an implementation-centric name, and "Panel" would be a more natural (and typical) name for this sort of GUI class.

A thing that I especially don't like about the original names I used (with "Frame"), is that "RplFrame" is a very different, and major RPL GUI class. It would be best to not confuse these new panel classes with RplFrame.

HOW ABOUT THIS? ...

Phil's original
  new class names
Suggested change Base Classes Used In -- RplBaseDlg subclasses:
RplDlgFrameBase RplObjPanel --- RplViewerDlg
RplBlockDlgFrame RplBlockPanel QFrame, RplObjPanel RplViewerDlg* and RplBlockDlg
RplFunctionDlgFrame RplFunctionPanel QFrame, RplObjPanel RplViewerDlg* and RplFunctionDlg

*Ideally, the RplViewerDlg would refer to the two concrete "panel" classes only during instantiation of those objects. From that point on, the RplViewerDlg could manage them as just base class (RplObjPanel) instances, making use of virtual methods defined in the two concrete classes.

Note also that RplDlgFrameBase / RplObjPanel started out as just an "abstract interface" class (no data members, and only pure virtual functions). It might be good to keep it that way, unless there is actual benefit to adding some implementation to that class. (This isn't really a big deal. But note that I didn't add a ".cpp" file for this class to the build, in my changes of a week ago).

UNIX commands to apply to QtRpl library to make these class name changes (including to *.pro and *.vcxproj files). This was tested with a Git "MINGW64" terminal window.

sed -i -b 's|RplDlgFrameBase|RplObjPanel|g' Rpl*
sed -i -b 's|RplDlgFrameBase|RplObjPanel|g' QtRpl*

sed -i -b 's|RplBlockDlgFrame|RplBlockPanel|g' Rpl*
sed -i -b 's|RplBlockDlgFrame|RplBlockPanel|g' QtRpl*

sed -i -b 's|RplFunctionDlgFrame|RplFunctionPanel|g' Rpl*
sed -i -b 's|RplFunctionDlgFrame|RplFunctionPanel|g' QtRpl*

mv RplDlgFrameBase.hpp RplObjPanel.hpp
mv RplDlgFrameBase.cpp RplObjPanel.cpp

mv RplBlockDlgFrame.hpp RplBlockPanel.hpp
mv RplBlockDlgFrame.cpp RplBlockPanel.cpp
mv RplBlockDlgFrameWidgets.ui RplBlockPanelWidgets.ui

mv RplFunctionDlgFrame.hpp RplFunctionPanel.hpp
mv RplFunctionDlgFrame.cpp RplFunctionPanel.cpp
mv RplFunctionDlgFrameWidgets.ui RplFunctionPanelWidgets.ui

---