# Third-party class names

**URL:** https://discourse.kitware.com/t/third-party-class-names/708
**Category:** Simulation Modeling Toolkit (SMTK)
**Created:** [August 26, 2021, 2:36pm UTC](https://discourse.kitware.com/t/third-party-class-names/708 "2021-08-26T14:36:00Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![johnt](https://discourse.kitware.com/user_avatar/discourse.kitware.com/johnt/32/147_2.png) [@johnt](https://discourse.kitware.com/u/johnt)
#### Post date: [August 26, 2021, 2:36pm UTC](https://discourse.kitware.com/t/third-party-class-names/708/1 "2021-08-26T14:36:00Z")

</div>

I’m taking a survey of sorts. We are going to incorporate some external code (MIT license) into SMTK that subclasses QTableView to support multiple-row headers with column spanning. (I’ll paste a mockup below.) There are 4 classes in all (8 files) that I plan to add to `smtk/extension/qt`, but the original file names are a bit odd. Here are the original names along with what I have currently renamed them to. My “SMTK” names might be too generic and I am open to alternative suggestions.

| Original Name | Description | Proposed SMTK Name |
| --- | --- | --- |
| GridTableView | Subclass of QTableView | qtTableView |
| GridTableHeaderView | Subclass of QHeaderView | qtHeaderView |
| TableModel | Used by header view subclass | qtHeaderModel |
| TableModelItem | Used by header view subclass | qtHeaderModelItem |

&nbsp;

And here’s a mockup for a potential “attribute table view”:

 ![att-tableview-mockup-3](https://discourse.kitware.com/uploads/default/original/1X/89a64e825a529f0e172c588a88246b7dee592342.png)

---

<div class="post-metadata">

### Author: ![Bob\_Obara](https://discourse.kitware.com/user_avatar/discourse.kitware.com/bob_obara/32/37_2.png) [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)
#### Post date: [August 26, 2021, 3:20pm UTC](https://discourse.kitware.com/t/third-party-class-names/708/2 "2021-08-26T15:20:13Z")

</div>

First of all - this looks great! In terms of class names, we might want to be a bit more descriptive:  
qtHeaderModel → gtGridHeaderModel  
qtHeaderModelItem → qtGridHeaderModelItem (or if it was a class defined within qtGridHeaderModel then it could just be ModelItem)  
qtHeaderView → qtGridHeaderView  
qtTableView → qtAdvanceTableView

---

<div class="post-metadata">

### Author: ![johnt](https://discourse.kitware.com/user_avatar/discourse.kitware.com/johnt/32/147_2.png) [@johnt](https://discourse.kitware.com/u/johnt)
#### Post date: [August 26, 2021, 3:53pm UTC](https://discourse.kitware.com/t/third-party-class-names/708/3 "2021-08-26T15:53:10Z")

</div>

+1 with one possible revision: could you live with `qtAdvancedTableView`? (Advance → Advanced)

---

<div class="post-metadata">

### Author: ![dcthomp](https://discourse.kitware.com/user_avatar/discourse.kitware.com/dcthomp/32/10_2.png) [@dcthomp](https://discourse.kitware.com/u/dcthomp)
#### Post date: [August 26, 2021, 5:08pm UTC](https://discourse.kitware.com/t/third-party-class-names/708/4 "2021-08-26T17:08:31Z")

</div>

The prototype looks great!

The proposed class names aren’t specific to attribute resources, but the classes are. Is it time to split+move `smtk/extension/qt` into `smtk/qt/attribute` and `smtk/qt/resource`?

---

<div class="post-metadata">

### Author: ![Bob\_Obara](https://discourse.kitware.com/user_avatar/discourse.kitware.com/bob_obara/32/37_2.png) [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)
#### Post date: [August 30, 2021, 3:59pm UTC](https://discourse.kitware.com/t/third-party-class-names/708/5 "2021-08-30T15:59:04Z")

</div>

Yep!

---

<div class="post-metadata">

### Author: ![Bob\_Obara](https://discourse.kitware.com/user_avatar/discourse.kitware.com/bob_obara/32/37_2.png) [@Bob\_Obara](https://discourse.kitware.com/u/Bob_Obara)
#### Post date: [August 30, 2021, 4:00pm UTC](https://discourse.kitware.com/t/third-party-class-names/708/6 "2021-08-30T16:00:20Z")

</div>

Actually they are not related to attributes at all. There needs to be a new qtView class that is derived from qtBaseAttributeView - this will be attribute related.
