kpat

First, we show classes defined elsewhere that are similar to those in kpat. Click on a class to browse its source code.
kpat'Card is similar to:
kpoker'_cardtype, kpoker'cardtype, kpoker'fCard, kpoker'CardWidget, qt'CardLayout, kpoker'CardImages, qt'CardLayoutIterator, kab'KABBasicLook, kab'KABBusinessCard, ksysctrl'PCCardDevice

kpat'CardBox is similar to:
kpoker'_cardtype, kpoker'cardtype, kpoker'fCard, qt'CardLayout, kpoker'CardWidget, qt'CardLayoutIterator, kpoker'CardImages, kworldwatch'AboutBox, qt'BOX, katomic'ConfigBox

kpat'CardTable is similar to:
kpoker'CardImages, kdevelop'WidgetsView, kpaint'View, kdevelop'DialogWidget, kdelibs'KPaletteTable, kiconedit'KResizeWidget, klyx'K_Frame, kwin'ResizeLeft, qt'Test, ksirtet'OptionWidget

kpat'Computation is similar to:
kpoker'_cardtype, kpoker'cardtype, qt'CardLayout, kpoker'CardWidget, kpoker'fCard, kpresenter'MoveByCmd, ksnake'Levels, kpoker'CardImages, qt'DndTargets, kmines'Level

kpat'Deck is similar to:
kpoker'CardImages, kpoker'fCard, kpoker'_cardtype, kpoker'cardtype, qt'CardLayout, kpoker'CardWidget, qt'CardLayoutIterator, kmahjongg'pos, kdelibs'MultNode, kformula'PosType

kpat'Freecell is similar to:
killustrator'FreeHandTool, kspread'KSpreadUndoCellLayout, kdf'KDiskFreeWidget, kdelibs'EEmptyCell, kwuftpd'AddDlFree, kdelibs'KColorCells, kword'PgfCellAlignment, kword'PgfCellMargins, killustrator'BrushCells, kword'KWTblCellSize

kpat'Grandf is similar to:
klyx'Undo, khexedit'CStringCollectControl, kioslave'RetargetSessionResponsePacket, qt'DndTargets, kpaint'KUndoData, qt'DndTargetsTable, kword'DocumentFNoteRestart, kpaint'KUndo, qt'DndTargetsTableEntry, caitoo'DropTarget

kpat'Idiot is similar to:
kscd'play, kscd'playlist, kmidi'PlayMode, kpaint'KUndoData, klyx'Undo, ksirtet'ServerPlayData, kword'DocumentFNoteRestart, kpaint'KUndo, ksirtet'ClientPlayData, kdevelop'UndoListBox

kpat'Klondike is similar to:
ksirc'ALT_TAB_MODE, kscd'play, kioslave'cb, kscd'playlist, kppp'RULE, kioslave'RetargetSessionResponsePacket, ksirc'filterRule, kmidi'PlayMode, ksnake'Levels, krn'Rule

kpat'MicroSolitaire is similar to:
qt'QWExtra, caitoo'DropTarget, ksokoban'PlayField, kimageshop'UndoRedoTab, pixie'MovieWindow, kpoker'CardImages, kpaint'View, ksirc'ALT_TAB_MODE, kdevelop'WidgetsView, kscd'play

kpat'Mod3 is similar to:
kdelibs'HTMLModElement, kdelibs'HTMLModElementImpl, abbrowser'UndoStack, klyx'UndoStack, kmail'KMUndoStack, kscd'drivelist, klyx'kb_key, kpaint'KUndo, kcalc'stack_item, kspread'stack_item

kpat'Napoleon is similar to:
qt'DndTargets, qt'DndTargetsTable, kword'DocumentFNoteRestart, qt'DndTargetsTableEntry, qt'QStoredDragData, caitoo'DropTarget, kolib'KoStore, kioslave'RetargetSessionResponsePacket, qt'QStoredDrag, kolib'KoBinaryStore

kpat'Ten is similar to:
kfinger'NetutilView, kscd'play, kscd'playlist, ksokoban'PlayField, klyx'Undo, kscd'STOPPED, kmidi'PlayMode, kpaint'KUndoData, kdevelop'UndoListBox, kdelibs'UndoListBox

kpat'basicCard is similar to:
kpoker'_cardtype, kpoker'cardtype, kab'KABBasicLook, qt'CardLayout, kpoker'CardWidget, kpoker'fCard, kab'TabBasic, kformula'BasicElement, kab'KABBusinessCard, kpm'ClickLabel

kpat'cardMaps is similar to:
kpoker'_cardtype, kpoker'cardtype, kpoker'fCard, ksysv'Timer, kikbd'KeyMap, kpoker'CardWidget, qt'CardLayout, konquest'Map, qt'QSignal, qt'QSenderObject

kpat'cardPos is similar to:
kpoker'_cardtype, kpoker'cardtype, kpoker'fCard, qt'CardLayout, kpoker'CardWidget, kpoker'CardImages, qt'CardLayoutIterator, kmahjongg'pos, kformula'PosType, ksysctrl'PCCardDevice

kpat'dealer is similar to:
kpoker'_cardtype, kpoker'cardtype, kpoker'CardImages, kpoker'fCard, qt'CardLayout, kpoker'CardWidget, kdelibs'HTMLModElement, kdelibs'HTMLModElementImpl, kpilot'TABLE, kpilot'_TABLE

kpat'pWidget is similar to:
konquest'MainWindow, kuser'mainWidget, kmines'MainWidget, arts'MainWindow, ksirtet'MainWidget, kppp'TopWidget, ksokoban'MainWindow, kdelibs'MainWindow, kshisen'App, kcron'KTApp



Second, we show how kpat's usage of the KDE libraries differs from other applications. Specifically, we show reuse patterns (e.g., if/then rules) that other applications follow but that kpat does not; this may indicate a problem. Click on a reuse pattern to browse the corresponding application source code.

class_calls:qt'QPushButton::adjustSize() => Confidence Supporters Detractors
1. class_receives_signal:qt'QPushButton::clicked() 97.8% *44 *1

class_calls:qt'QPopupMenu::setCheckable() => Confidence Supporters Detractors
2. class_calls:qt'QPopupMenu::insertSeparator() 97.6% 40 *1

class_calls:kdelibs'KTMainWindow^::helpMenu() => Confidence Supporters Detractors
3. class_calls:qt'QPopupMenu^::insertSeparator() 96.2% 25 *1

class_overrides:qt'QWidget^::show() => Confidence Supporters Detractors
4. class_calls:qt'QWidget^::show() 96.0% *24 *1

class_calls:kdelibs'KMenuBar::insertSeparator() => Confidence Supporters Detractors
5. class_calls:qt'QPopupMenu::insertSeparator() 95.9% 47 *2

class_instantiates:kdelibs'KMenuBar => Confidence Supporters Detractors
6. class_calls:qt'QPopupMenu^::insertSeparator() 94.7% 36 *2

class_calls:qt'QPushButton::move() => Confidence Supporters Detractors
7. class_receives_signal:qt'QPushButton::clicked() 91.1% *41 *4

class_calls:kdelibs'KToolBar::show() => Confidence Supporters Detractors
8. class_instantiates:qt'QDialog^ 90.5% 19 *2

class_calls:kdelibs'KMenuBar::insertItem() => Confidence Supporters Detractors
9. class_calls:qt'QPopupMenu^::insertSeparator() 90.0% 54 *6

class_calls:qt'QPainter::drawRect() => Confidence Supporters Detractors
10. class_calls:qt'QPainter::setPen() 90.0% *99 *11